注意
自定义编码准则功能仅适用于 Copilot Enterprise 计划,目前仅限选定客户使用。
此功能将被弃用,取而代之的是使用 Copilot 自定义指令来自定义 Copilot 代码评审。 请参见 为 GitHub Copilot 添加存储库自定义说明。
关于编码准则
可以使用以自然语言编写的自定义编码准则自定义 Copilot 代码评审。 有关 Copilot 代码评审的详细信息,请参阅“关于 Copilot 代码评审”。
凭借编码准则,Copilot 可根据组织的特定编码风格和最佳做法提供反馈。
由于 Copilot 代码评审由大型语言模型提供支持,因此有助于强制执行 Linter 或静态分析工具未涵盖的编码准则。
编码准则在存储库级别配置。 每个存储库最多支持创建和启用 6 项编码准则。 请参阅“Configuring coding guidelines for GitHub Copilot code review”。
从 Copilot 请求评审时,它将自动使用存储库已启用的编码准则来评审你的代码。
基于编码准则生成的注释将包含一条消息,并突出显示了其源。
注意
编码准则仅适用于 Copilot 执行的代码评审。 这些准则不会影响 Copilot 代码完成建议,也不会影响 Copilot 聊天响应中建议的代码。
编码准则的注意事项
- 要使用简单明了、简洁的语言来描述编码准则****。
- 要尽可能具体地说明 Copilot 应寻求的内容,即你希望或不希望在代码中看到的内容****。
- 要查看下面的编码准则示例以获取一些灵感****。
- 不要尝试使用编码准则来强制实施可由 Linter 或静态分析工具涵盖的风格准则****。
- 不要使用含糊不清或可能以其他方式解读的措辞****。
- 不要尝试将多种不同想法纳入一项编码准则****。
编码准则示例
示例 1:避免使用 magic 数字
标题:Avoid using magic numbers
****
说明:Don't use magic numbers in code. Numbers should be defined as constants or variables with meaningful names.
路径模式:**/*.py
****
示例 2:不要在 SQL 查询中使用 SELECT *
标题:Don't use `SELECT *` in SQL queries
****
说明:Don't use `SELECT *` in SQL queries. Always specify the columns you want to select. `COUNT(*)` is allowed.
路径模式:无(适用于所有文件类型,因为 SQL 查询可能嵌入代码中)****。
示例 3:对 HTTP 请求使用 fetch
标题:Use `fetch` for HTTP requests
****
说明:Use `fetch` for HTTP requests, not `axios` or `superagent` or other libraries.
路径模式:**/*.ts
、**/*.js
、**/*.jsx
、**/*.tsx
****
示例 4:始终以当前环境标记指标
标题:Always tag metrics with the current environment
****
说明:Always include a `env` tag with the current environment when emitting metrics, for example, `env:prod` or `env:dev`.
路径模式:*/*.go
、*/*.java
****