关于 Copilot 代码评审
GitHub Copilot 可以审查代码并提供反馈。 如果可能,Copilot 的反馈会包括建议的更改,单击几次即可应用这些更改。
Copilot 代码评审支持两种评审类型:
- 评审选定内容:突出显示代码并请求初始评审(仅限 Visual Studio Code)****__
- 评审更改:请求更深入地评审所有更改(GitHub 网站和 Visual Studio Code)****__
下表汇总了两种评审类型的当前功能和可用性:
功能 | 评审选定内容 | 查看更改 |
---|---|---|
环境 | Visual Studio Code | Visual Studio Code 和 GitHub 网站 |
说明 | 对突出显示的代码部分进行初始评审并提供反馈和建议 | 更深入地评审所有更改 |
语言支持 | All | C#、Go、Java、JavaScript、Markdown、Python、Ruby、TypeScript 公共预览版 支持 C、C++、Kotlin 和 Swift。 |
自定义编码准则支持 | 否 | 是,请参阅使用编码准则对 Copilot 的评审进行自定义设置 |
可用性 | Copilot 所有订户可用的标准功能 | 高级版功能。 适用于订阅了 Copilot Pro、Copilot Pro+、Copilot Business 和 Copilot Enterprise 的用户。 每人每月配额。 |
高级请求
Copilot 代码评审在后台使用多个模型。 使用 o3-mini 模型发出初始请求。 在整个拉取请求期间,Copilot 会生成建议,并可能根据代码内容和评审类型使用 GPT-4o 或其他模型。
由于不同模型的请求倍率不同,代码评审期间消耗的高级请求数量将根据拉取请求的大小和 Copilot 需要分析和响应的代码量而有所变化。 请参阅“关于高级请求”。
每月最大代码评审数
“评审更改”类型的 Copilot 代码评审 是一项高级功能,按每位用户每月配额计费****。
Note
Copilot 代码评审的个人配额将于 2025 年 5 月 5 日开始生效。
将 Copilot 指定为某个拉取请求的审阅者时,只要 Copilot 向拉取请求发表评论,就会从你的每月配额中扣除一次高级请求。
如果某个仓库已配置为自动请求 Copilot 对所有新拉取请求进行代码评审,则该高级请求使用情况将计入拉取请求创建者的配额中。 如果拉取请求是由 GitHub Actions 或其他机器人创建的,则使用情况将计入触发工作流的用户(如果可识别),或计入指定的账单所有者。
当你用完当月配额时,将无法再请求 Copilot 进行代码审查,直到配额重置 - 除非你升级 Copilot 计划,或启用额外的 Copilot 高级请求额度。 请参阅“关于高级请求”。
验证 Copilot 代码评审
Warning
Copilot 无法保证发现拉取请求中的所有问题,有时也会出错。 请务必仔细验证 Copilot 的反馈,并通过人工评审来补充 Copilot 的反馈。
有关详细信息,请参阅“负责任地使用 GitHub Copilot 代码评审”。
向 Copilot 请求评审
这些说明介绍如何在 GitHub 网站中使用 Copilot 代码评审。 要查看关于 Visual Studio Code 的说明,请使用页面顶部的“Visual Studio Code”工具切换器。
向 Copilot 请求拉取请求审查
-
在 GitHub.com 上,创建拉取请求或导航到现有拉取请求。
-
打开“审查者”菜单,然后选择“Copilot”********。
-
等待 Copilot 审查拉取请求。 这通常会在 30 秒内完成。
-
向下滚动并通读 Copilot 的注释。
Copilot 始终保留“注释”评审,而不是“批准”评审或“请求更改”评审。 这意味着 Copilot 的评审不计入拉取请求所需的评审,并且 Copilot 的评审不会阻止合并更改。 有关详细信息,请参阅“批准需要审查的拉取请求”。
-
Copilot 的评审注释就像人工评审的注释一样。 你可以对这些注释添加回应、进行评论,以及解决或隐藏它们。
添加到 Copilot 的评审注释的任何评论将对人类可见,但这些评论对 Copilot 不可见,Copilot 不会回复。
处理 Copilot 提供的建议的更改
如果可能,Copilot 的反馈会包括建议的更改,单击几次即可应用这些更改。
如果你对更改感到满意,则可以接受来自 Copilot 中的单个建议并提交,也可以接受单个提交中的一组建议。 有关详细信息,请参阅“在拉取请求中加入反馈”。
如果要验证 Copilot 的建议的更改(例如通过运行自动化测试或 Linter),或者如果要在提交建议的更改之前做出修改,请单击“在工作区中打开”按钮****。 有关详细信息,请参阅“使用 Copilot 帮助处理拉取请求”。
提供有关 Copilot 提供的评审的反馈
可以直接在每个注释中提供有关 Copilot 提供的注释的反馈。 我们将利用此信息来改进产品和 Copilot 提供的建议质量。
-
在 Copilot 提供的拉取请求审查注释中,单击拇指向上 (👍) 或拇指向下 (👎) 按钮。
-
如果单击拇指向下按钮,系统会要求你提供其他信息。 (可选)可以选择给出负面反馈的原因并留下评论,然后再点击“提交反馈”****。
向 Copilot 请求重新评审
将更改推送到 Copilot 已评审的拉取请求时,它不会自动重新评审更改。
要向 Copilot 请求重新评审,请单击“审查者”菜单中 Copilot 的名称旁边的 按钮****。 有关详细信息,请参阅“请求拉取请求审查”。
Note
重新评审拉取请求时,Copilot 可能会再次重复给出相同的注释,即使这些注释已通过“解决对话”按钮消除或者用拇指向下 (👎) 按钮表示了反对。
启用自动评审
默认情况下,需要手动请求 Copilot 对每个拉取请求的评审,与向人工请求评审一样。 但可以将 Copilot 设置为自动评审某个存储库中或组织中所有存储库中的所有拉取请求。 请参阅“配置 Copilot 的自动代码评审”。
使用编码准则对 Copilot 的评审进行自定义设置
Note
自定义编码准则功能仅适用于 Copilot Enterprise 计划,目前仅限选定客户使用。
使用 Copilot 代码评审 查看 Visual Studio Code 或 GitHub 网站中的更改时,可以使用以自然语言编写的自定义编码准则来自定义 Copilot 的评审。 Copilot 在评审代码时将根据编码准则提供反馈。 有关详细信息,请参阅“为 GitHub Copilot 代码评审配置编码准则”。
基于编码准则生成的注释将包含一条消息,并突出显示了其源。