Skip to main content

关于GitHub Copilot 代码评审

了解如何让 Copilot 为您审查拉取请求。

简介

          Copilot代码评审 审核用任意语言编写的代码,并提供反馈。 它会从多个角度评审代码,以识别问题并建议修复。 只需单击几下即可应用建议的更改。

本文概述了 Copilot代码评审. 若要了解如何从 Copilot中请求代码评审,请参阅 使用GitHub Copilot 代码评审

可用性

          Copilot代码评审 支持以下环境:
  • GitHub.com

  • GitHub Mobile

  • VS Code

  • Visual Studio

  • Xcode

  • JetBrains IDE

            Copilot代码评审 是以下计划提供的一项高级功能:
    
  • Copilot Pro

  • Copilot Pro+

  • Copilot业务

  • Copilot Enterprise

查看 Copilot 计划

如果从组织收到Copilot,则您的组织必须在Copilot的策略设置中启用Copilot代码评审 选项。 这适用于在 GitHub.com 或在 GitHub Mobile 上的评论。 请参阅“管理组织中GitHub Copilot的策略和功能”。

          Copilot代码评审
          Copilot没有许可证

          **没有许可证的组织Copilot** 成员可以使用 Copilot代码评审GitHub.com。 企业管理员或组织所有者必须启用它。 此功能适用于**Copilot业务** 和**Copilot Enterprise** 计划的组织。

为没有许可证的用户启用代码审查

若要允许没有 Copilot 许可证的组织成员使用 Copilot代码评审,必须启用两个策略:

  1.        **高级请求付费使用**。 首先启用此策略。 它允许企业或组织产生高级请求使用费用 Copilot代码评审 。
    
  2. 允许没有 Copilot 许可证的成员在 GitHub.com 中使用 Copilot代码评审。 此子策略为没有许可证的用户启用 Copilot代码评审 。

第二个策略具有以下特征:

  • 此项默认禁用。
  • 在企业级别设置此策略后,该策略将 变为可见,但在组织级别不可编辑
  • 策略 限制最大。 Copilot代码评审 仅在显式启用策略的存储库中可用。

它如何适用于没有许可证的用户

启用这两个 Copilot 策略后,没有许可证的用户可以在组织的存储库中请求由 Copilot代码评审 对他们的拉取请求进行评审。

在启用自动代码评审的存储库中, Copilot 自动评审所有拉取请求。 无论作者是否具有 Copilot 许可证,都会发生这种情况。

          Copilot代码评审 对于没有许可证的用户,在 IDE 中不可用。

排除的文件

以下文件类型被排除在Copilot代码评审之外:

  • 依赖项管理文件,如 package.json 和 Gemfile.lock
  • 日志文件
  • SVG 文件

如果在拉取请求中包含这些文件类型, Copilot代码评审 则不会查看该文件。

有关详细信息,请参阅“从 GitHub Copilot代码评审 中排除的文件”。

的代理功能 Copilot代码评审

注意

          Copilot代码评审 具有的功能位于公共预览版,且可能发生更改。 
          [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-pre-release-license-terms) 适用于使用预览功能的行为。

          Copilot代码评审 利用代理功能来扩展其功能。

* 项目背景信息的完整收集。 这使代码评审更加具体、准确,并具有上下文意识。 此功能分析整个存储库,以更好地了解代码更改的上下文。 完整项目上下文收集现已普遍可用。

  • 向Copilot云代理传递建议的能力。 这会自动在你的分支上创建一个新的拉取请求,并应用建议的修复。 将建议传递给 Copilot云代理 的功能处于公共预览阶段,可能会有变动。

这些功能会自动为 Copilot Pro 或 Copilot Pro+ 计划启用。

如果 GitHub Actions 不可用,或者 Copilot代码评审 所使用的 Actions 工作流失败,评审依然会被生成。 但是,它们不包括代理功能提供的其他功能。

          GitHub Actions代码评审中的代理能力运行器使用情况

          Copilot代码评审 使用免费分钟数 GitHub Actions 来执行代理功能,包括完整的项目背景收集和任何功能 公共预览版。 默认情况下, Copilot代码评审 使用 GitHub-hosted runners。 还可以升级到更大规模的 GitHub托管运行器,以提高性能。

注意

大型 GitHub托管运行程序的使用按分钟计费,可能会产生额外的 GitHub Actions 费用。

          GitHub Actions无需在组织或企业中启用代理功能,才能在代码评审中使用代理功能。

如果您的组织禁用了托管 GitHub 运行程序,则代理功能将不可用。 在这种情况下,代码评审将回退为更有限的评审。 处于此情况的组织可以使用自托管运行器。

有关配置运行程序的详细信息,请参阅 为GitHub Copilot代码评审配置运行器

代码评审每月配额

每当 Copilot 审查拉取请求或在您的 IDE 中审查代码时,您的每月高级请求配额 Copilot 将减少一。

如果存储库被配置为对所有新拉取请求自动向 Copilot 请求代码评审,则高级请求将被计入拉取请求作者的配额。 如果由其他用户手动请求评审,则该使用量将被计入该用户的配额。

如果拉取请求由 GitHub Actions 或机器人创建,则使用情况将应用于:

  • 触发工作流的用户(如果可以识别该用户)。
  • 指定的计费所有者。

达到配额时会发生什么情况

达到每月配额时,在配额重置之前,您将无法从 Copilot 获取代码评审。 若要在配额重置之前继续使用代码评审,需要升级 Copilot 计划或启用其他高级请求。

没有包含 Copilot代码评审 的 Copilot 许可证或计划的用户

无权访问 Copilot代码评审 的用户没有每月高级请求配额。 这包括没有Copilot许可证的用户以及选用Copilot免费计划但该计划不包含Copilot代码评审的用户。

当为这些用户启用 Copilot代码评审 时,他们生成的任何高级请求将直接作为付费超额使用量向组织或企业计费。 这适用于手动请求的评审和自动代码评审。

这些用户生成的高级请求不归咎于任何 Copilot 计划配额。 在计费报告和优质请求分析中,它们显示为超额使用。 包含 Copilot 代码评审许可证的用户将继续从其分配的计划配额中消耗高级请求。

模型使用

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

注意

Copilot代码评审 可能使用组织的“Models”设置页上未启用的模型。 “模型”设置页仅可控制 Copilot 对话助手。

由于 Copilot代码评审 已正式发布,因此所有模型使用情况都将受到正式版条款的约束。 请参阅“管理组织中GitHub Copilot的策略和功能”。

验证 Copilot 代码评审

          Copilot 不能保证在拉取请求中发现所有问题。 有时它会犯错误。 请仔细验证 Copilot反馈。 使用人工评审补充 Copilot 的反馈。

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

增强 Copilot 对存储库的知识

对存储库中的代码、你使用的工具以及编码标准和做法的了解越多 Copilot ,其评审就越准确且有用。 可以通过两种方式增强 Copilot 对您存储库的了解。

自定义说明

这些是你编写并存储在一个或多个存储库文件中的简短自然语言语句。 如果你是组织的 GitHub所有者,还可以在组织的设置中定义自定义说明。 有关详细信息,请参阅“关于自定义GitHub Copilot 响应”。

          Copilot内存(公共预览版)

如果你有一个 Copilot Pro 或 Copilot Pro+ 计划,则可以启用 Copilot内存。 这允许 Copilot 存储它已了解的存储库的有用详细信息。 Copilot 然后,当查看该存储库中的拉取请求时,可以使用此信息。 有关详细信息,请参阅“关于GitHub Copilot的代理内存”。

关于自动拉取请求评审

默认情况下,只有在将拉取请求分配给Copilot时,Copilot才会审核拉取请求。 但是,可以配置自动评审。

  •         **单个用户**在Copilot Pro或Copilot Pro+计划中可以配置Copilot来自动查看他们创建的所有拉取请求。
    
  •         **存储库所有者** 可配置 Copilot 为自动查看存储库中有权访问 Copilot的人员创建的所有拉取请求。
    
  •         **组织所有者** 可配置 Copilot 为自动查看用户在其中创建 Copilot 拉取请求的组织中部分或所有存储库中的所有拉取请求。
    

触发自动拉取请求评审

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

  • 基本设置:
    • 当你创建“公开”状态的拉取请求时。
    • 首次将“草稿”状态的拉取请求切换为“公开”状态时。
  • 评审新推送:
    • 每次向拉取请求推送新提交时。
  • 审查拉取请求草稿:
    • 拉取请求仍处于草稿状态时(切换为“公开”状态之前)会自动进行审核。

有关完整说明,请参阅 通过 GitHub Copilot 配置自动代码评审

注意

除非 Copilot 已配置为审核推送到拉取请求的每个推送,否则它只会对拉取请求进行一次评审。 如果在自动审阅拉取请求后进行了更改,并且希望 Copilot 重新评审,那么可以手动提出请求。 单击按钮,该按钮位于“审阅者”菜单中Copilot的名称旁边。

获取整个存储库的详细代码质量反馈

          GitHub Copilot代码评审 查看拉取请求中的代码并提供反馈。 如果要提供有关整个存储库可靠性和可维护性的可操作反馈,请启用 GitHub Code Quality。 请参阅“[AUTOTITLE](/code-security/code-quality/concepts/about-code-quality)”。

其他阅读材料

  •         [AUTOTITLE](/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review)