O24Tooltip hỗ trợ tạo Git commit message tự động ngay trong Visual Studio Code bằng Codex CLI.
Extension đọc các thay đổi đã được stage, phân tích nội dung thay đổi và tự động điền commit message vào ô Source Control.
Tính năng
- Đọc các thay đổi đã được stage bằng Git.
- Tự động tạo commit message phù hợp với nội dung thay đổi.
- Hỗ trợ định dạng Conventional Commits.
- Hỗ trợ commit message tiếng Anh hoặc tiếng Việt.
- Điền trực tiếp commit message vào Source Control.
- Tự động copy commit message vào clipboard.
- Hỗ trợ workspace có nhiều Git repository.
- Loại trừ các lock file phổ biến để giảm kích thước staged diff.
- Giới hạn kích thước diff gửi cho Codex để tránh request quá lớn.
Yêu cầu
Trước khi sử dụng, máy cần có:
- Visual Studio Code.
- Git.
- Node.js.
- Codex CLI đã được cài đặt và đăng nhập.
Cài đặt Codex CLI
Mở PowerShell và chạy:
npm install -g @openai/codex
Kiểm tra phiên bản:
codex --version
Đăng nhập Codex:
codex
Trong lần chạy đầu tiên, chọn phương thức đăng nhập phù hợp.
Kiểm tra trạng thái đăng nhập:
codex login status
Sử dụng
Bước 1: Stage các file
Mở Source Control trong Visual Studio Code và stage các file cần commit.
Có thể stage bằng giao diện hoặc terminal:
git add .
Bước 2: Generate commit message
Bấm nút Generate Commit Message trên thanh công cụ Source Control.
Hoặc mở Command Palette:
Ctrl + Shift + P
Sau đó chạy:
O24Tooltip: Generate Commit Message
Extension sẽ thực hiện:
- Đọc staged diff bằng
git diff --cached.
- Gửi staged diff cho Codex CLI.
- Tạo commit message.
- Điền message vào ô Source Control.
- Copy message vào clipboard.
Sau khi kiểm tra nội dung, bấm Commit như bình thường.
Cấu hình
Mở Visual Studio Code Settings:
Ctrl + ,
Sau đó tìm:
O24Tooltip
Hoặc mở file settings.json:
Ctrl + Shift + P
Chọn:
Preferences: Open User Settings (JSON)
Ngôn ngữ commit message
Mặc định sử dụng tiếng Anh:
{
"o24Tooltip.commitLanguage": "en"
}
Các giá trị hỗ trợ:
| Giá trị |
Ngôn ngữ |
en |
Tiếng Anh |
vi |
Tiếng Việt |
Ví dụ tiếng Anh:
feat(resident): add building filter to resident search
Ví dụ tiếng Việt:
feat(resident): bổ sung bộ lọc tòa nhà cho danh sách cư dân
Định dạng commit message
Mặc định sử dụng Conventional Commits:
{
"o24Tooltip.commitFormat": "conventional"
}
Các giá trị hỗ trợ:
| Giá trị |
Mô tả |
conventional |
Sử dụng định dạng type(scope): description |
simple |
Chỉ tạo một câu mô tả ngắn |
Ví dụ Conventional Commit:
fix(authentication): handle expired user session
Ví dụ simple commit:
Handle expired user session
Các loại Conventional Commit thường được sử dụng:
| Type |
Mục đích |
feat |
Bổ sung tính năng |
fix |
Sửa lỗi |
refactor |
Tái cấu trúc code |
perf |
Tối ưu hiệu năng |
docs |
Cập nhật tài liệu |
test |
Bổ sung hoặc sửa test |
build |
Thay đổi cấu hình build |
ci |
Thay đổi pipeline |
chore |
Công việc bảo trì |
Đường dẫn Codex CLI
Mặc định extension gọi lệnh:
{
"o24Tooltip.codexCommand": "codex"
}
Nếu Windows không tìm thấy Codex CLI, kiểm tra đường dẫn:
where.exe codex
Kết quả có thể tương tự:
C:\Users\YOUR_USER\AppData\Roaming\npm\codex.cmd
Cấu hình đường dẫn tuyệt đối:
{
"o24Tooltip.codexCommand": "C:\\Users\\YOUR_USER\\AppData\\Roaming\\npm\\codex.cmd"
}
Nếu Codex được cài bằng pnpm, đường dẫn có thể là:
{
"o24Tooltip.codexCommand": "C:\\Users\\YOUR_USER\\AppData\\Local\\pnpm\\codex.cmd"
}
Giới hạn kích thước staged diff
Giá trị mặc định:
{
"o24Tooltip.maxDiffCharacters": 120000
}
Extension sẽ giới hạn số ký tự gửi cho Codex khi staged diff quá lớn.
Có thể điều chỉnh:
{
"o24Tooltip.maxDiffCharacters": 200000
}
Giá trị hỗ trợ từ 10000 đến 500000.
Cấu hình đề xuất
{
"o24Tooltip.commitLanguage": "en",
"o24Tooltip.commitFormat": "conventional",
"o24Tooltip.codexCommand": "codex",
"o24Tooltip.maxDiffCharacters": 120000
}
Trên Windows, nên sử dụng đường dẫn tuyệt đối:
{
"o24Tooltip.commitLanguage": "en",
"o24Tooltip.commitFormat": "conventional",
"o24Tooltip.codexCommand": "C:\\Users\\YOUR_USER\\AppData\\Roaming\\npm\\codex.cmd",
"o24Tooltip.maxDiffCharacters": 120000
}
Xử lý lỗi
Không có staged changes
Thông báo:
O24Tooltip: không có staged changes. Hãy stage file trước.
Kiểm tra trạng thái Git:
git status
Stage các file:
git add .
Sau đó chạy lại Generate Commit Message.
Không tìm thấy Codex CLI
Thông báo:
'codex' is not recognized as an internal or external command
Kiểm tra:
where.exe codex
codex --version
Nếu tìm thấy codex.cmd, cấu hình đường dẫn tuyệt đối trong VS Code Settings:
{
"o24Tooltip.codexCommand": "C:\\Users\\YOUR_USER\\AppData\\Roaming\\npm\\codex.cmd"
}
Sau đó đóng và mở lại Visual Studio Code.
Codex chưa đăng nhập
Kiểm tra:
codex login status
Đăng nhập lại:
codex
Workspace có nhiều repository
O24Tooltip sẽ ưu tiên repository chứa file đang mở.
Nếu không xác định được repository phù hợp, extension sẽ hiển thị danh sách để người dùng lựa chọn.
Commit message không xuất hiện
Kiểm tra:
- Git extension mặc định của Visual Studio Code đang được bật.
- Workspace hiện tại là một Git repository.
- Có file đã được stage.
- Codex CLI chạy được trong terminal.
- Đường dẫn
o24Tooltip.codexCommand chính xác.
Có thể kiểm tra Codex trực tiếp:
codex exec "Output exactly: OK"
Quyền riêng tư
O24Tooltip không trực tiếp lưu staged diff hoặc commit message.
Extension gọi Codex CLI đã được cài đặt trên máy để xử lý nội dung thay đổi. Người dùng nên kiểm tra staged changes và không đưa thông tin nhạy cảm, khóa bí mật, mật khẩu hoặc token vào Git repository.
Phiên bản hiện tại
0.1.0
- Generate commit message từ staged changes.
- Tích hợp nút Generate Commit Message trên Source Control.
- Điền trực tiếp message vào commit input.
- Copy commit message vào clipboard.
- Hỗ trợ nhiều Git repository trong một workspace.
- Hỗ trợ tiếng Anh và tiếng Việt.
- Hỗ trợ Conventional Commits và simple commit.
- Hỗ trợ cấu hình đường dẫn Codex CLI.
- Giới hạn kích thước staged diff.
- Loại trừ các lock file phổ biến.
Roadmap
Các tính năng dự kiến:
- Tùy chỉnh commit prompt.
- Hiển thị danh sách nhiều commit message để lựa chọn.
- Tạo commit message theo quy chuẩn riêng của O24.
- Tự động phát hiện module từ đường dẫn file.
- O24 Workflow Tooltip.
- O24 CQRS Snippets.
- O24 Code Generator.
- Tích hợp kiểm tra tên branch.
- Tích hợp quy tắc commit theo từng project.
Phản hồi và hỗ trợ
Khi gặp lỗi, vui lòng cung cấp:
- Phiên bản Visual Studio Code.
- Phiên bản O24Tooltip.
- Phiên bản Codex CLI.
- Hệ điều hành.
- Nội dung lỗi hiển thị.
Kiểm tra các phiên bản bằng:
code --version
codex --version
git --version
node --version
O24Tooltip — O24 Developer Utilities for Visual Studio Code.