Skip to main content

关于 Copilot 代码评审

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

简介

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

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

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

可用性

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

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

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

代码评审每月配额

当将 Copilot 指定为拉取请求的评审者,或在 IDE 中请求 Copilot 评审所有未提交的更改时,你的 Copilot 高级请求月度配额将减少 1 次。 有关高级请求的信息,请参阅 GitHub Copilot 中的请求

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

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

Visual Studio Code 中的 Copilot 代码评审

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

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

验证 Copilot 代码评审

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

有关详细信息,请参阅“Responsible use of GitHub Copilot code review”。

关于自动拉取请求评审

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

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

触发自动拉取请求评审

配置自动代码评审后,Copilot 将在以下情况下评审拉取请求:

  • 创建的拉取请求是“开放”拉取请求。

    如果创建的拉取请求是“草稿”拉取请求,则不会触发评审。

  • 首次将“草稿”拉取请求转换为“开放”。

注意

Copilot 仅自动评审一次拉取请求。 如果在已自动评审某个拉取请求后对其进行更改,并希望 Copilot 重新评审该拉取请求,则需要手动请求。 **** 为此,需要在“评审人”菜单中单击 Copilot 名称旁的 按钮。

自动拉取请求评审的限制

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

配置自动拉取请求评审

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

其他阅读材料