简介
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 许可证的组织成员可在 GitHub.com 上使用 Copilot代码评审。 企业管理员或组织所有者必须启用它。 此功能适用于Copilot业务 和Copilot Enterprise 计划的组织。
为没有许可证的用户启用代码审查
若要允许没有 Copilot 许可证的组织成员使用 Copilot代码评审,必须启用两个策略:
-
**高级请求付费使用**。 首先启用此策略。 这允许企业或组织承担 Copilot代码评审 高级请求使用费用。 - 允许没有 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 托管运行器。 你也可升级到更大的 GitHub 托管运行器以获得更好性能。
注意
使用更大的 GitHub 托管运行器按分钟计费,可能产生额外 GitHub Actions 费用。
使用代码评审中的智能体功能,无需在组织或企业中启用 GitHub Actions。
如果您的组织禁用了托管 GitHub 运行程序,则代理功能将不可用。 在这种情况下,代码评审将回退为更有限的评审。 处于此情况的组织可以使用自托管运行器。
有关配置运行程序的详细信息,请参阅 为GitHub Copilot代码评审配置运行器。
代码评审每月配额
每次 Copilot 评审拉取请求或在 IDE 中评审代码时,你的 Copilot 高级请求月度配额减少 1。
如果存储库被配置为对所有新拉取请求自动向 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 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)