引言
最近很喜欢用VsCode中Copilot生成Commit提交信息,格式规范,总结到位。
就是有个问题,生成内容都是英文的(这个问题也有佬友在问)。
于是我去研究了下,如何像其他AI助手那样给Copilot设置系统级指令。
还真被我找到了,文档链接,主要是两种方式,一种是在.github/copilot-instructions.md中配置,一种是在VsCode的settings.json中配置。
<iframe
src="https://vscode.js.cn/docs/copilot/copilot-customization"
width="600"
height="400"
frameborder="0"
allowfullscreen>
</iframe>
copilot-instructions.md
我们以,回复和生成的内容都限制为中文为例,来测试下这个自定义指令是否生效。
先测试以工作区为界,增加自定义指令。我们在项目根目录中新建这个文件.github/copilot-instructions.md,记得先创建.github文件夹哦。然后在文件中写入:
所有回复,生成内容都用中文
觉得麻烦的佬友也可以让copilot帮忙创建。
很好没问题,在试试生成commit提交信息:
也没问题。
settings.json
我们在VsCode的设置中搜索github.copilot.chat.codeGeneration.instructions
,点击编辑settings.json
然后把我们想要的指令信息配置进去,然后保存即可
感谢 @dnslin 佬友整合了 准化的提交信息格式,复制后替换上面的配置即可
"github.copilot.chat.codeGeneration.instructions": [{"text": "feat – for adding a new feature; fix – for fixing a bug; docs – for documentation changes; style – for code style changes (does not affect functionality, e.g., whitespace, formatting, missing semicolons, etc.); refactor – for code refactoring (neither fixing a bug nor adding a feature); test – for adding or modifying tests; chore – for changes to the build process or auxiliary tools (does not affect source code or tests); perf – for performance improvements; build – for changes that affect the build system or external dependencies (e.g., gulp, webpack, npm); revert – for reverting a previous commit; ci – for changes to CI configuration files and scripts (e.g., GitHub Actions, Jenkins); deps – for dependency changes (update, remove, or add); Standard commit message format: <type>(<scope>): <description>"}]
feat 用于新增功能(feature)
fix 用于修复 bug
docs 用于文档的变更(documentation)
style 代码风格的修改(不影响功能,比如空格、格式化、缺少分号等修正)
refactor 用于代码重构(既不修复 bug,也不增加功能)
test 用于添加或修改测试用例
chore 用于构建过程或辅助工具的变动(不影响源代码或测试用例)
perf 用于提升性能的代码改动
build 用于影响构建系统或外部依赖的更改(例如:gulp、webpack、npm)
revert 用于回滚之前的提交
ci 用于修改 CI 配置文件和脚本(如 GitHub Actions、Jenkins)
deps 用于依赖的变更(更新、删除或新增)
规范的 commit message :
<type>(<scope>): <description>
type就是上面的前缀,也就是提交类型, scope是可选的,就是本次涉及到的页或者模块, description就是变更描述。
如:
feat(auth): 增加JWT验证
感谢 @luffyopwong23 推荐的gitdoc插件,感兴趣的佬可以去看看
感谢 @xiadengma 推荐的gitlens插件,这个我也一直在用,可以显示每行代码的最后变更人,用来追踪溯源很方便