Skip to main content

关于 GitHub Copilot 代码评审

了解 Copilot 如何执行拉取请求评审。

简介

GitHub Copilot 可以审查代码并提供反馈。 如果可能,Copilot 的反馈会包括建议的更改,单击几次即可应用这些更改。

Copilot 可以评审以任何编程语言编写的代码。

此文章提供了有关 Copilot 代码评审 的概述。 有关如何从 Copilot 请求代码评审的操作说明,请参阅 使用 GitHub Copilot 代码评审

可用性

Copilot 代码评审 支持在以下资源中使用:

  • GitHub.com
  • GitHub Mobile
  • VS Code
  • Visual Studio
  • Xcode
  • JetBrains IDE

Copilot 代码评审 是一项高级功能(存在一种例外情况),适用于 Copilot 专业版、Copilot Pro+、Copilot Business 和 Copilot Enterprise 计划。

该例外情况是评审 Visual Studio Code 中文件内选定的代码。 这是一项标准功能,适用于 VS Code 中的所有 Copilot 用户。

如果你的 Copilot 是由某组织提供的,那么要在 GitHub.com 或 GitHub Mobile 中,向 Copilot 请求拉取请求评审,必须在该组织的 Copilot 策略设置中,启用“Copilot 代码评审”选项****。 请参阅“管理组织中的 GitHub Copilot 策略和功能”。

代码评审每月配额

每次 Copilot 评审拉取请求或评审 IDE 中包含更改的文件时,Copilot 高级请求的每月配额都会减少一个。 对 VS Code 中当前选定文本进行的代码评审不会消耗高级请求。 有关高级请求的信息,请参阅 GitHub Copilot 中的请求

如果某个仓库已配置为自动请求 Copilot 对所有新拉取请求进行代码评审,则该高级请求使用情况将计入拉取请求创建者的配额中。 如果拉取请求是由 GitHub Actions 或其他机器人创建的,则使用情况将计入触发工作流的用户(如果可识别),或计入指定的账单所有者。

当你用完当月配额时,将无法再请求 Copilot 进行代码审查,直到配额重置 - 除非你升级 Copilot 计划,或启用附加高级请求。

模型的用法

Copilot 代码评审 是一款专门构建的产品,它使用模型、提示和系统行为的精心优化组合,在各种代码库中提供一致的高质量反馈。 模型切换不受支持,因为更改模型可能会损害可靠性、用户体验和评审评论的质量。

注意

Copilot 代码评审 可能使用组织的“Models”设置页上未启用的模型。 请参阅“管理组织中的 GitHub Copilot 策略和功能”。

Visual Studio Code 中的 Copilot 代码评审

Visual Studio Code 中的 Copilot 代码评审 支持两种评审类型:

  • 评审选定内容:****
    • 突出显示代码并请求进行初始评审。
    • 标准 Copilot 功能。 未使用高级请求。
    • 不支持自定义指令。
  • 评审更改:****
    • 请求更深入地评审所有未提交的更改。
    • 高级版功能。 使用按评审的每月配额中的一个高级请求。
    • 支持自定义指令。

为 Copilot 代码评审提供指令

你可通过提供自定义指令来定制 Copilot 生成的评审内容。 这有助于 Copilot 以符合你团队编码标准、工具和做法的方式评审代码。 请参阅“为 GitHub Copilot 添加存储库自定义说明”和“为 GitHub Copilot 添加组织自定义指令”。

验证 Copilot 代码评审

Copilot 无法保证发现拉取请求中的所有问题,有时也会出错。 请务必仔细验证 Copilot 的反馈,并通过人工评审来补充 Copilot 的反馈。

有关详细信息,请参阅“负责任地使用 GitHub Copilot 代码评审”。

关于自动拉取请求评审

默认情况下,Copilot 只会在被分配了拉取请求时才评审此拉取请求,与分配人工审阅者的情况一样。 但是:

  • 订阅 Copilot 专业版 或 Copilot Pro+ 计划的个人用户,可以将 Copilot 配置为自动评审他们创建的所有拉取请求。
  • 仓库所有者可以将 Copilot 配置为自动评审仓库中由有权访问 Copilot 的人员创建的所有拉取请求。
  • 组织所有者可将 Copilot 配置为自动评审组织中部分或所有存储库中的所有拉取请求,其中拉取请求由 Copilot 用户创建。

触发自动拉取请求评审

自动代码评审的触发取决于配置设置:

  • 基本设置
    • 创建的拉取请求是“开放”拉取请求。
    • 首次将“草稿”拉取请求转换为“开放”。
  • 评审新推送
    • 每次将新提交推送到拉取请求时。
  • 评审草稿拉取请求
    • 在拉取请求仍处于草稿状态时(切换为“Open”状态前),系统自动对其进行审查。

注意

除非已将 Copilot 配置为对拉取请求的每次推送进行审查,否则系统将只审查拉取请求一次。 如果在已自动评审某个拉取请求后对其进行更改,并希望 Copilot 重新评审该拉取请求,则可以手动请求。 **** 为此,需要在“评审人”菜单中单击 Copilot 名称旁的 按钮。

自动拉取请求评审的限制

Copilot 代码评审 是一项高级功能,为每位用户提供每月配额。 当 Copilot 执行自动评审时,它将使用创建拉取请求的用户配额中的一个高级请求。 有关详细信息,请参阅“使用 GitHub Copilot 代码评审”。

配置自动拉取请求评审

有关如何将 Copilot 配置为自动评审新的拉取请求的详细信息,请参阅 配置 GitHub Copilot 的自动代码评审

其他阅读材料