首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >宝玉老师推荐的 VSCode Commit 生成功能,如何让 AI 严格遵循 Conventional Commits 规范?

宝玉老师推荐的 VSCode Commit 生成功能,如何让 AI 严格遵循 Conventional Commits 规范?

作者头像
Immerse
发布2026-01-13 20:10:24
发布2026-01-13 20:10:24
880
举报
文章被收录于专栏:沉浸式趣谈沉浸式趣谈

大家好,我是 Immerse,一名独立开发者、内容创作者、AGI实践者。

  • • 关注公众号:#沉浸式趣谈,获取最新文章(更多内容只在公众号更新)
  • • 个人网站:https://yaolifeng.com 也同步更新。
  • • 转载请在文章开头注明出处和版权信息。

我会在这里分享关于编程独立开发AI出海个人思考等内容。

如果本文对你有帮助,欢迎动动小手指一键三连(点赞评论转发),给我一些支持和鼓励,谢谢!

宝玉老师分享的 VSCode「Generate Commit Message」 一直在用,但如何让 AI 生成的 commit 严格遵循 Conventional Commits 规范(必须以 feat:、fix:、chore: 等开头)呢?

我亲自试了下:加一条提示词,就能让 AI 生成的 commit 严格遵循 Conventional Commits 规范(feat:, fix:, chore: 等)。

测试 10 次,全都完美合规!零失败!

配置入口

VSCode 设置里搜索 Commit Message Generation: Instructions,打开配置文件,粘贴下面的提示词即可。

配置方式

配置超简单,支持两种方式:

  1. Text 方式:直接在 Settings → Commit Message Generation: Instructions 粘贴提示词
  2. File 方式:项目根目录新建 .copilot-commit-message-instructions.md,写入相同提示词(多项目复用更方便)
代码语言:javascript
复制
"github.copilot.chat.commitMessageGeneration.instructions":[
  {
    "file":".copilot-commit-message-instructions.md"
  },
  {
    "text":"严格遵循 Conventional Commits 规范。格式:<type>(<scope>): <subject>。type 必须是:feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert 之一。subject 简洁明了,不超过50字符,首字母小写,不加句号。如有破坏性变更,必须在 body 中以 BREAKING CHANGE: 开头说明。"
  }
]

Text 方式提示词:

代码语言:javascript
复制
严格遵循 Conventional Commits 规范。格式:<type>(<scope>): <subject>。type 必须是:feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert 之一。subject 简洁明了,不超过 50 字符,首字母小写,不加句号。如有破坏性变更,必须在 body 中以 BREAKING CHANGE: 开头说明

File 方式提示词:

代码语言:javascript
复制
# Git 提交消息规范

本项目遵循 [Conventional Commits](https://www.conventionalcommits.org/) 规范。

## 提交消息格式

```
<type>(<scope>): <subject>

<body>

<footer>
```

### 必需部分

#### Type (类型)

提交的类型必须是以下之一:

-   **feat**: 新功能 (feature)
-   **fix**: 修复 bug
-   **docs**: 仅文档更改
-   **style**: 不影响代码含义的更改(空格、格式化、缺少分号等)
-   **refactor**: 既不修复 bug 也不添加功能的代码更改
-   **perf**: 提高性能的代码更改
-   **test**: 添加缺失的测试或更正现有测试
-   **build**: 影响构建系统或外部依赖的更改(示例范围:webpack, npm, vite)
-   **ci**: 对 CI 配置文件和脚本的更改(示例范围:GitHub Actions, GitLab CI)
-   **chore**: 其他不修改 src 或测试文件的更改
-   **revert**: 回退之前的提交

#### Subject (主题)

-   使用简洁的语言描述本次提交的更改
-   不超过 50 个字符
-   使用中文或英文(保持项目一致)
-   首字母小写
-   结尾不加句号

### 可选部分

#### Scope (范围)

用于说明提交影响的范围,例如:

-   **component**: 组件相关
-   **api**: API 相关
-   **router**: 路由相关
-   **store**: 状态管理相关
-   **utils**: 工具函数相关
-   **styles**: 样式相关
-   **deps**: 依赖项相关

#### Body (正文)

-   详细描述本次提交的动机和更改内容
-   可以分多行
-   应该说明"是什么"和"为什么",而不是"怎么做"

#### Footer (页脚)

-   用于关闭 Issue 或描述破坏性变更
-   Breaking Changes 必须在页脚中以 `BREAKING CHANGE:` 开头
-   关闭 Issue 使用 `Closes #issue号`

## 示例

### 简单的功能添加

```
feat(article): 添加文章搜索功能
```

### 修复 bug

```
fix(login): 修复登录状态未持久化的问题
```

### 包含详细描述

```
feat(editor): 支持 Markdown 实时预览

添加了一个新的编辑器组件,支持 Markdown 的实时预览功能。
用户在编辑时可以同时看到渲染后的效果,提升编辑体验。

Closes #123
```

### 破坏性变更

```
feat(api): 重构用户认证 API

BREAKING CHANGE: 用户认证接口从 /api/auth 迁移到 /api/v2/auth,
旧接口将在下一个版本中移除。客户端需要更新 API 端点。
```

### 多个类型的示例

```
refactor(utils): 优化文件上传工具函数
```

```
perf(article): 优化文章列表渲染性能
```

```
docs(readme): 更新项目安装文档
```

```
style(component): 统一组件代码格式
```

```
test(api): 添加文章 API 单元测试
```

```
build(deps): 升级 Vue 到 3.4.0
```

```
ci: 添加自动部署流程
```

```
chore: 更新 .gitignore 配置
```

## 注意事项

1. **每次提交只做一件事**:如果一次更改涉及多个不相关的修改,应该拆分成多个提交
2. **提交信息要清晰**:让其他开发者能够快速理解这次提交的目的
3. **遵循团队约定**:如果团队有特殊的提交规范,以团队约定为准
4. **及时提交**:完成一个功能点或修复一个问题后立即提交,不要积累太多更改
5. **使用中文或英文**:保持项目提交消息语言的一致性

## 工具支持

推荐使用以下工具来辅助编写符合规范的提交消息:

-   **Commitizen**: 交互式提交工具
-   **commitlint**: 提交消息校验工具
-   **husky**: Git hooks 工具,配合 commitlint 使用

## 参考资源

-   [Conventional Commits 官方文档](https://www.conventionalcommits.org/)
-   [Angular 提交规范](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit)

配置结束后,生成的 commit 就会严格遵循 Conventional Commits 规范了!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 非同质前端札记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置入口
  • 配置方式
    • Text 方式提示词:
    • File 方式提示词:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档