CommitHelper
智能的 VSCode 扩展,让你的 Git 提交消息更规范、更专业
一键转换提交消息为约定式提交格式,支持多平台议题关联
立即安装 | 使用文档 | 问题反馈
功能特性
智能提交消息格式化
特性 |
说明 |
一键转换 |
将 GitHub Copilot 或手动编写的提交消息转换为约定式提交格式 |
格式检测 |
自动识别已有的约定式提交格式,避免重复处理 |
换行保护 |
完美保持原有消息的换行格式和文本结构 |
智能清理 |
自动移除重复的提交类型前缀,防止格式错误 |
多平台议题集成
平台 |
支持功能 |
GitHub |
自动拉取仓库开放议题,支持公开和私有仓库 |
GitLab |
支持 GitLab.com 和自建 GitLab 实例 |
Gitee |
支持码云仓库议题管理和关联 |
通用功能 |
议题搜索、刷新列表、手动输入议题号 |
约定式提交类型
类型 |
用途 |
示例 |
feat |
新功能 |
feat(auth): add user login system |
fix |
修复问题 |
fix(api): resolve timeout error |
docs |
文档变更 |
docs: update installation guide |
style |
代码格式 |
style: fix indentation in main.ts |
refactor |
重构 |
refactor(utils): simplify validation logic |
perf |
性能优化 |
perf(query): optimize database queries |
test |
测试相关 |
test: add unit tests for user service |
chore |
构建工具 |
chore: update dependencies |
ci |
CI配置 |
ci: add automated testing workflow |
build |
构建系统 |
build: configure webpack for production |
revert |
回滚 |
revert: undo changes in commit abc123 |
高级功能
功能 |
描述 |
作用域支持 |
可选的提交作用域,如 auth 、api 、ui |
破坏性变更 |
支持 BREAKING CHANGE 标记,使用复选框切换 |
议题关联 |
自动生成 Closes [#123](https://github.com/Nowaterisenough/commit-helper/issues/123) 格式的议题引用 |
缓存机制 |
智能缓存议题数据,提升加载速度 |
错误处理 |
完善的错误提示和重试机制 |
快速开始
安装
- 在 VSCode 扩展商店搜索 "CommitHelper"
- 点击 安装 按钮
提示: 也可以通过 VS Code Marketplace 直接安装
基本使用
查看使用步骤
- 在 Git 源代码管理面板中编写或使用 Copilot 生成提交消息
- 点击源代码管理标题栏的 "Format as Conventional Commit" 按钮(标签图标)
- 按照引导选择提交类型、作用域等信息
- 插件会自动格式化并更新你的提交消息
配置访问令牌(可选)
隐私说明: 为了获取私有仓库的议题,你需要配置相应平台的访问令牌
方法一:VSCode 设置
- 打开 VSCode 设置(
Ctrl+,
或 Cmd+,
)
- 搜索 "commitHelper"
- 配置相应的令牌:
commitHelper.githubToken
commitHelper.gitlabToken
commitHelper.giteeToken
commitHelper.localGitlabToken
方法二:设置文件
在 VSCode 设置 JSON 中添加:
{
"commitHelper.githubToken": "your_github_personal_access_token",
"commitHelper.gitlabToken": "your_gitlab_personal_access_token",
"commitHelper.giteeToken": "your_gitee_personal_access_token",
"commitHelper.localGitlabToken": "your_local_gitlab_personal_access_token"
}
方法三:环境变量
设置环境变量:
export GITHUB_TOKEN="your_github_token"
export GITLAB_TOKEN="your_gitlab_token"
export GITEE_TOKEN="your_gitee_token"
export LOCAL_GITLAB_TOKEN="your_local_gitlab_token"
访问令牌获取
使用示例
转换效果展示
转换前
Add user authentication system
- Implemented JWT token validation
- Added login/logout endpoints
- Created user session management
|
转换后
feat(auth): add user authentication system
- Implemented JWT token validation
- Added login/logout endpoints
- Created user session management
Closes [#42](https://github.com/Nowaterisenough/commit-helper/issues/42)
|
界面展示
格式化流程
点击查看详细流程
- 类型选择:从下拉列表选择最适合的提交类型
- 作用域输入:可选的功能模块作用域
- 破坏性变更:标记是否为破坏性变更
- 议题选择:从开放议题列表中选择或手动输入
- 内容确认:确认标题和详细描述
- 自动应用:格式化后的消息自动填入提交框
议题选择界面
选择要关联的议题 (共 15 个开放议题)
不关联议题
此次提交不关联任何议题
[#123](https://github.com/Nowaterisenough/commit-helper/issues/123) Fix login authentication bug
标签: bug, high-priority
[#124](https://github.com/Nowaterisenough/commit-helper/issues/124) Add dark mode support
标签: enhancement, ui
[#125](https://github.com/Nowaterisenough/commit-helper/issues/125) Improve API performance
标签: performance
手动输入议题号
手动输入议题号
开发
本地开发
# 克隆仓库
git clone https://github.com/Nowaterisenough/CommitHelper.git
cd CommitHelper
# 安装依赖
npm install
# 编译
npm run compile
# 打包
npm run package
# 在 VSCode 中按 F5 启动调试
项目结构
CommitHelper/
├── src/
│ ├── extension.ts # 主要扩展逻辑
│ └── cache.ts # 缓存系统
├── package.json # 扩展配置和依赖
├── tsconfig.json # TypeScript 配置
├── esbuild.js # 构建配置
└── README.md # 项目文档
贡献
欢迎提交 Issue 和 Pull Request!我们鼓励所有形式的贡献。
贡献指南
- Fork 项目
- 创建功能分支 (
git checkout -b feat/amazing-feature
)
- 提交更改 (
git commit -m 'feat: add amazing feature'
)
- 推送分支 (
git push origin feat/amazing-feature
)
- 创建 Pull Request
如果这个项目对你有帮助,请给个 Star!

许可证
本项目采用 MIT License - 详见 LICENSE 文件
相关链接
常见问题
Q: 为什么获取不到议题?
A: 请检查:
- 网络连接是否正常
- 仓库是否为公开仓库(私有仓库需要配置访问令牌)
- 访问令牌是否有正确的权限
- 仓库 URL 格式是否支持(目前支持 GitHub、GitLab、Gitee)
Q: 如何处理多个 Git remote?
A: 插件会优先使用 origin
remote,如果不存在则使用第一个可用的 remote。
Q: 支持自定义提交类型吗?
A: 当前版本使用标准的约定式提交类型,未来版本会考虑支持自定义类型。
Q: 可以批量处理多个提交吗?
A: 当前版本专注于单个提交消息的格式化,批量处理功能在规划中。