AI Smart Commit - 智能 Git 提交助手
一款基于 AI 的 VSCode 扩展,帮助开发者生成符合 Angular Commit 规范的 Git 提交信息。
功能特性
- AI 智能分析:使用 AIME 自动分析代码变更,生成提交建议
- Coding 集成:自动获取项目和事项信息,支持事项关联
- 规范化提交:符合 Angular Commit Message 规范
- 交互式界面:友好的 Webview 界面,方便编辑和确认
- 自动模块填充:根据关联事项自动填充模块名称
- 安全存储:使用 VSCode SecretStorage 安全存储 Token
- 多仓库支持:支持在包含多个 Git 仓库的工作区中使用
- 重试机制:AI 分析失败时可快速重试
- 日志系统:支持可配置的日志级别,便于调试
- 埋点统计:内置使用情况统计功能
安装
- 在 VSCode 扩展市场搜索 "AI Smart Commit"
- 点击安装
快速开始
1. 配置 Coding Token(可选)
如果需要 Coding 集成以关联事项:
- 打开命令面板(Ctrl+Shift+P / Cmd+Shift+P)
- 运行命令:
AI Smart Commit: Set Coding Token
- 输入你的个人访问令牌
2. 使用扩展
- 在 VSCode 中修改代码
- 使用
git add 将文件添加到暂存区
- 打开命令面板,运行:
AI Smart Commit: Generate Commit
- 等待 AI 分析完成
- 在弹出的界面中查看、编辑提交信息
- 点击"提交代码"按钮完成提交
提交信息格式
扩展生成的提交信息遵循以下格式:
<type> [<issue-ids>] <scope>:<description>
[body]
Type 类型
feat: 新功能
fix: Bug 修复
docs: 文档更新
style: 代码格式调整
build: 构建相关
refactor: 代码重构
revert: 回退代码
other: 其他
示例
feat AIEfficiencyBoost#27 user-auth:添加用户登录接口
实现了基于 JWT 的用户认证功能,包括登录、注册和令牌刷新。
配置选项
在 VSCode 设置中可配置以下选项:
{
"aiSmartCommit.coding.token": "",
"aiSmartCommit.logLevel": "info",
"aiSmartCommit.ankerAi.commitContentTemplate": "详细描述:使用\"新增功能\"、\"详细变更\"、\"功能优势\"、\"技术说明\"分四个段落"
}
配置说明
aiSmartCommit.coding.token: Coding Personal Access Token(可选)。如果配置了此项,将优先使用;否则使用 Secret Storage 中存储的 Token。推荐使用命令 AI Smart Commit: Set Coding Token 通过 Secret Storage 存储,更安全。
aiSmartCommit.logLevel: 日志级别。可选值:debug(详细日志)、info(一般日志)、warn(警告)、error(仅错误)。默认值:info。
aiSmartCommit.ankerAi.commitContentTemplate: Commit 正文模板,用于指导 AI 生成结构化的提交正文内容。支持多行文本编辑,修改后立即生效。可使用命令 AI Smart Commit: Reset Commit Content Template to Default 恢复默认值。
注意:AIME API 端点和 Coding API 端点已内置,无需配置。
工作流程
- 获取代码变更:自动获取 Git 暂存区的 diff 信息
- AI 分析:将 diff 和 Commit Content Template 发送给 AIME 进行分析
- 获取事项列表:从 Coding 获取待办事项
- 交互式编辑:在 Webview 中展示并允许用户编辑
- 执行提交:使用
git commit -sm 执行带签名的提交
可用命令
| 命令 |
说明 |
AI Smart Commit: Generate Commit |
生成提交信息(主要功能) |
AI Smart Commit: Set Coding Token |
设置 Coding Personal Access Token |
AI Smart Commit: Check Telemetry Status |
查看埋点状态和统计信息 |
AI Smart Commit: Reset Commit Content Template to Default |
重置 Commit 正文模板为默认值 |
注意事项
- 确保工作区已初始化为 Git 仓库
- 提交前必须先将文件添加到暂存区(
git add)
feat 和 fix 类型必须关联事项
- Coding Token 安全存储在 VSCode SecretStorage 中
- 扩展激活时会检查网络连通性,确保能访问 Coding 服务
故障排除
问题:提示"暂存区为空"
解决方案:使用 git add 命令将修改的文件添加到暂存区。
git add .
问题:AI 分析失败
解决方案:
- 检查网络连接是否正常
- 如果提示超时,可以点击"重试"按钮重新分析
- 如果持续失败,可以查看日志(命令:
AI Smart Commit: Check Telemetry Status → "查看详细日志")
- 检查日志级别设置,将
aiSmartCommit.logLevel 设置为 debug 可获取更详细的错误信息
问题:无法获取 Coding 事项
解决方案:
- 检查 Coding Token 是否正确配置(使用命令
AI Smart Commit: Set Coding Token)
- 确认 Token 有足够的权限(需要读取项目和事项的权限)
- 检查网络连接,确保能访问 Coding 服务
问题:扩展无法激活
解决方案:
- 扩展激活时会检查网络连通性,确保能访问
http://codingcorp.coding.anker-in.com/
- 如果无法访问,请检查网络连接、防火墙或代理设置
- 查看 VSCode 输出面板中的错误信息
常见问题
Q: 如何重置 Commit Content Template 为默认值?
A: 使用命令面板 (Ctrl+Shift+P) 搜索 AI Smart Commit: Reset Commit Content Template to Default 即可恢复默认模板。
Q: Commit Content Template 支持多行编辑吗?
A: 是的,在 VSCode 设置界面中可以直接多行编辑,支持滚动查看长文本内容。
Q: 用户标识是如何确定的?
A: 系统会优先使用 Git 用户名(git config user.name),如果未配置则使用 VSCode 机器 ID。用户标识会添加 -commit 后缀用于 AIME API 调用。
Q: 如何查看扩展的日志信息?
A: 使用命令 AI Smart Commit: Check Telemetry Status,然后选择"查看详细日志"。也可以将配置项 aiSmartCommit.logLevel 设置为 debug 获取更详细的日志。
Q: 支持多仓库工作区吗?
A: 是的,扩展支持多仓库工作区。在 SCM 视图中点击对应仓库的提交按钮,或在命令面板中运行命令时,扩展会自动识别当前操作的仓库。
Q: AI 分析失败后如何重试?
A: 在提交界面中,如果 AI 分析失败,会显示错误信息和"重试"按钮。点击"重试"按钮即可重新分析当前的代码变更。
反馈与支持
如有问题或建议,请联系Anker嵌入式ADT团队。