🚀 一键自动提交的 VSCode/Cursor 扩展,AI 生成规范的中文提交信息!
GitHub 地址: https://github.com/snake-mustang/sy-ai-commit
⭐️ 请不要吝啬你的 STAR,点点 STAR,这对我很重要!
如果这个插件对您有帮助,请到 GitHub 给个 Star ⭐️,这是对我最大的鼓励和支持!
切换项目时需要重新初始化配置!
每次打开新的项目或切换到不同的工作区时,都需要重新运行初始化配置:
- 按
Ctrl+Shift+P打开命令面板 - 输入并选择:
sy commit: 初始化配置 - 等待配置完成
安装插件后首次打开项目会自动弹出配置提示,点击"是"即可自动配置。
如果没有自动提示,或者切换了项目,请手动运行:
- 按
Ctrl+Shift+P打开命令面板 - 输入:
sy commit - 选择:sy commit: 初始化配置
- 等待配置完成(会显示进度)
配置完成后会弹窗提示:
- ✅ 初始化配置成功
- 💡 显示快捷键说明
- ✓ 已配置快捷键到 keybindings.json
- ✓ 已创建 .cursorrules 文件到项目根目录
⚠️ 提醒切换项目时需重新配置
-
检查项目根目录:确认是否有
.cursorrules文件- 文件位置:项目根目录(与 package.json 同级)
- 如果没有,请重新运行初始化配置
-
检查快捷键配置:(可选)
- Windows:
C:\Users\你的用户名\AppData\Roaming\Cursor\User\keybindings.json - macOS:
~/Library/Application Support/Cursor/User/keybindings.json - Linux:
~/.config/Cursor/User/keybindings.json - 应该包含
ctrl+g ctrl+g和ctrl+t ctrl+t两个快捷键
- Windows:
配置内容:
- 自动配置两个快捷键(Ctrl+G Ctrl+G 和 Ctrl+T Ctrl+T)
- 创建
.cursorrules文件(Git 提交规范) - 自动合并现有规则(如果已存在)
配置完成后,就可以使用快捷键了:
修改代码 → 按 Ctrl+G Ctrl+G → 自动提交 → 弹窗提示完成 ✅
自动执行:
- 保存所有文件
- 暂存所有更改
- AI 生成提交信息
- 自动提交
- 弹窗提示完成(不会直接 PUSH 到远程!)
完成提示:
✅ 已自动提交成功!
💡 提交已完成,未推送到远程
👉 下一步:如需推送,请运行 git push
或在源代码管理中点击"推送"
[推送到远程] ← 点击可直接推送
修改代码 → 按 Ctrl+T Ctrl+T → 弹窗提示 → 查看并提交 ✅
自动执行:
- 保存所有文件
- 暂存所有更改
- AI 生成提交信息
- 弹窗提示完成(可查看和修改)
完成提示:
✅ 已生成提交信息!
📝 提交信息已填入源代码管理面板
👉 下一步:查看提交信息并点击"提交"按钮
(或按 Ctrl+Enter)
[打开源代码管理] ← 点击可直接跳转
| 快捷键 | 功能 | 适用场景 | 提交方式 |
|---|---|---|---|
| Ctrl+G Ctrl+G | 一键提交 | 确定更改无误,快速提交 | 自动提交 |
| Ctrl+T Ctrl+T | 生成信息 | 希望先查看提交信息 | 手动确认提交 |
使用建议:
- 🚀 小改动:用
Ctrl+G Ctrl+G快速提交 - 🔍 重要更改:用
Ctrl+T Ctrl+T生成后查看,确认无误再点击"提交"按钮
- 🚀 双快捷键模式:
Ctrl+G Ctrl+G:一键完整提交(保存→暂存→生成→提交)Ctrl+T Ctrl+T:先生成信息,查看确认后再提交
- 🤖 AI 生成提交信息:自动生成规范的中文约定式提交(Cursor AI)
- 📝 即时预览:生成后直接在弹窗中显示提交信息内容(v1.2.0 新增)
- 🔔 智能检测:自动检测项目切换,未初始化时弹出提示(v1.2.0 新增)
- ⚙️ 自动配置:首次使用自动配置快捷键和提交规范
- 📊 使用统计:可通过 Git 命令查看扩展使用统计(v1.2.0 新增)
- 📝 规范化:自动创建
.cursorrules文件,统一团队提交规范 - 🌍 跨平台:支持 Windows、macOS、Linux
- 按
Ctrl+Shift+X打开扩展 - 搜索 "AI Auto Commit"
- 点击安装
同样步骤,或访问 Open VSX Registry
如果需要自定义快捷键或开启自动推送功能,可以修改设置:
- 按
Ctrl+,打开设置 - 搜索 "auto commit"
- 修改相应配置项
{
// 是否在提交后自动推送到远程
"autoCommitAssistant.enablePush": false, // 改为 true 开启自动推送
// 一键提交快捷键
"autoCommitAssistant.keybinding": "ctrl+g ctrl+g",
// 仅生成信息快捷键
"autoCommitAssistant.generateOnlyKeybinding": "ctrl+t ctrl+t",
// 首次打开自动配置
"autoCommitAssistant.autoSetupOnStartup": true,
// 是否添加使用标记(用于统计)
"autoCommitAssistant.addGeneratedByTrailer": true // 改为 false 可关闭标记
}sy commit: 初始化配置 使快捷键生效!
| 配置项 | 默认值 | 说明 |
|---|---|---|
autoCommitAssistant.keybinding |
"ctrl+g ctrl+g" |
一键提交快捷键 |
autoCommitAssistant.generateOnlyKeybinding |
"ctrl+t ctrl+t" |
仅生成信息快捷键 |
autoCommitAssistant.enablePush |
false |
提交后是否自动推送 |
autoCommitAssistant.autoSetupOnStartup |
true |
首次打开自动配置 |
autoCommitAssistant.addGeneratedByTrailer |
true |
是否添加使用标记(用于统计) |
Q: 切换项目后快捷键不能用了?
A: 别担心! 从 v1.2.0 开始,扩展会自动检测项目是否已初始化。切换到新项目时,如果未配置会自动弹出提示,点击"立即初始化"即可快速配置。
Q: 为什么切换项目要重新配置?
A: 因为每个项目可能有不同的 .cursorrules 规则,插件需要为每个项目单独配置快捷键和规则文件。
Q: 切换项目时没有弹出初始化提示?
A: 可能是因为:1) 项目已经初始化过了;2) 您之前选择了"不再提示"。如需初始化,手动运行 sy commit: 初始化配置 即可。
Q: 两个快捷键有什么区别?
A: Ctrl+G Ctrl+G 自动完成所有操作包括提交;Ctrl+T Ctrl+T 只生成提交信息,需手动确认后提交。
Q: 如何查看生成的提交信息?
A: 使用 Ctrl+T Ctrl+T 后,生成的提交信息会直接显示在弹窗中!同时也会填入左侧"源代码管理"面板,确认无误后点击"提交"按钮。
Q: 快捷键不生效?
A: 运行命令 sy commit: 初始化配置 重新配置。
Q: 想修改快捷键?
A: 在设置中修改 autoCommitAssistant.keybinding 或 autoCommitAssistant.generateOnlyKeybinding,然后重新配置。
Q: 提交后想自动推送?
A: 设置 autoCommitAssistant.enablePush 为 true,重新初始化配置。
Q: VSCode 中能用吗?
A: 可以!但 AI 生成提交信息功能需要配合其他 AI 扩展。Cursor 中功能最完整。
Q: 提交信息末尾的 "Generated-by" 是什么?
A: 这是扩展添加的使用标记,用于统计您使用本扩展的次数。符合 Git trailer 标准格式,不影响提交信息的可读性。如果不需要,可以在设置中关闭 autoCommitAssistant.addGeneratedByTrailer。
Q: 如何查看使用统计?
A: 在项目目录下运行命令:
# 查看所有使用本扩展的提交
git log --grep="Generated-by: sy-ai-commit"
# 统计使用次数
git log --grep="Generated-by: sy-ai-commit" --oneline | wc -l
# 统计所有分支的使用次数
git log --all --grep="Generated-by: sy-ai-commit" --oneline | wc -l扩展会在项目根目录创建 .cursorrules 文件,定义提交规范:
<类型>(<范围>): <主题>
<正文>
<页脚>
支持的类型:
feat: 新功能fix: 修复 bugdocs: 文档更新style: 代码格式refactor: 代码重构test: 测试chore: 构建/工具perf: 性能优化ci: CI/CDrevert: 回滚
示例:
feat(用户模块): 添加用户登录功能
- 实现用户名密码登录
- 添加记住密码功能
- 优化登录页面UI
Generated-by: [email protected]
ℹ️ 关于 "Generated-by" 标记:这是扩展自动添加的使用标记,符合 Git trailer 标准格式,用于统计扩展使用次数。可在设置中关闭。
扩展会在生成的提交信息末尾自动添加 Generated-by: sy-ai-commit@版本号 标记,您可以通过以下命令查看使用统计:
git log --grep="Generated-by: sy-ai-commit"# 当前分支使用次数
git log --grep="Generated-by: sy-ai-commit" --oneline | wc -l
# 所有分支使用次数
git log --all --grep="Generated-by: sy-ai-commit" --oneline | wc -lgit log --grep="Generated-by: sy-ai-commit" --oneline -10# 统计本月使用次数
git log --grep="Generated-by: sy-ai-commit" --since="1 month ago" --oneline | wc -l
# 统计本周使用次数
git log --grep="Generated-by: sy-ai-commit" --since="1 week ago" --oneline | wc -l如果不希望添加标记,可以在设置中关闭:
{
"autoCommitAssistant.addGeneratedByTrailer": false
}注意:关闭标记后需要重新运行 sy commit: 初始化配置 使设置生效。
如果修改了设置或快捷键,运行:
Ctrl+Shift+P → sy commit: 初始化配置
将 .cursorrules 文件提交到仓库,团队成员使用统一的提交规范。
生成的快捷键配置存储在 keybindings.json 中,可以手动编辑添加更多命令:
{
"key": "ctrl+g ctrl+g",
"command": "runCommands",
"args": {
"commands": [
"workbench.action.files.save",
"git.stageAll",
"cursor.generateGitCommitMessage",
"git.commit",
"git.push" // 可手动添加推送
]
}
}查看 CHANGELOG.md
⭐️ 觉得好用?给个 Star 支持一下!
🎉 享受高效的 Git 提交体验!

