Skip to main content

使用 GitHub Copilot代码评审 于 GitHub

GitHub Copilot 会评审你的拉取请求并建议可随时应用的更改,以便快速获得有关每项提交的可操作反馈。

当由企业管理员或组织所有者启用时,Copilot 代码评审 也可供没有 Copilot 许可证的组织成员使用。 请参阅 Copilot 代码评审(针对无 Copilot 许可证的组织成员)

请求 Copilot 进行评审

  1. 在 GitHub.com 上,创建或打开拉取请求。

  2. 在右侧栏中的“审阅者”下 Copilot,单击“ 请求”。

    Copilot 的屏幕截图,其中显示“审阅者”下方的“请求”按钮。

  3. 等待 Copilot 完成评审。 这通常会在 30 秒内完成。

  4. 阅读Copilot有关拉取请求的评论。

    Copilot 留下的代码评审的屏幕截图。

Copilot 始终保留“批注”评审,而不是“批准”或“请求更改”评审。 其审查不计入所需的批准,也不会阻止合并。

Copilot的审阅评论功能类似于人工审核者的评论。 添加反应、回复、解决或隐藏它们。 您添加的任何答复对其他人可见,但对Copilot不可见。

您还可以通过 Copilot REST API 向 GitHub 请求评审,只需将 copilot-pull-request-reviewer[bot] 作为审阅者提出请求。 有关详细信息,请参阅“用于审查请求的 REST API 终结点”。

处理建议的更改

Copilot的反馈通常包含建议的更改,你只需点击几下即可应用。 接受单个建议或将多个建议组合为一项提交。 有关详细信息,请参阅“在拉取请求中加入反馈”。

要让 Copilot云代理 直接实施建议的更改:

  1. 启用 GitHub Copilot代码评审 和 Copilot云代理。
  2. 在来自 GitHub Copilot代码评审 的评审注释中,单击“使用 Copilot 修复”。 这将创建一个草稿批注,可在其中指示 Copilot 处理特定反馈。 你可以选择是由 Copilot 针对你的分支创建新的拉取请求,还是直接提交到同一个拉取请求。

提供对评论的反馈

评价 Copilot的评论,以帮助改进未来的建议。

  1. 在评论批注 Copilot中,单击大拇指向上(:+1:)或拇指向下(:-1:)按钮。

    显示 Copilot 代码评审 注释的屏幕截图,其中包含拇指向上和拇指向下按钮。

  2. 如果单击拇指向下,可以选择选择原因并留下批注,然后单击“ 提交反馈”。

    对 Copilot 的注释提供负面反馈时,用于提供附加信息的表单截图。

请求重新评审

当你向 Copilot 已审阅过的拉取请求推送新的更改时,除非你已将自动审阅配置为包含新的推送,否则它不会自动重新审阅。

若要手动请求重新评审,请单击Copilot”菜单中“名称”旁边的**** 按钮。 有关详细信息,请参阅“请求拉取请求审查”。

若要在每个推送上自动请求重新评审,请启用自动代码评审,然后在规则集设置中选择“ 审阅新推送 ”。 有关详细信息,请参阅“通过GitHub Copilot配置自动代码评审”。

重新评审时,Copilot 可能会重复以前的注释,即使你已解决或给予低评价这些注释。

启用自动评审

默认情况下,你需要在每个拉取请求上手动请求 Copilot 进行评审。 若要为所有拉取请求启用自动评审,请参阅 通过GitHub Copilot配置自动代码评审

使用自定义指令来个性化评论

你可以通过向存储库中添加自定义指令来自定义 Copilot 代码评审。 存储库自定义说明可以是存储库范围的,也可以是特定于路径的。

使用 .github/copilot-instructions.md 表示适用于整个代码库的存储库级评审指南。 这是描述组织范围期望的好地方,例如编码标准、评审标准或每次评审中应考虑的 Copilot 一般做法。

使用位于仓库根目录中的 AGENTS.md 文件来提供更多仓库上下文信息,帮助 Copilot 更好地理解你的项目是如何运作的。 例如,可以解释哪些模式是有意的、代码库的哪些部分需要更仔细的审查,以及团队认为良好的体系结构、测试和实现做法。 这有助于使评审更相关,并与团队构建软件的方式保持一致。

使用 .github/instructions/**/*.instructions.md 文件来编写仅在审查匹配文件时适用的针对特定路径的说明。 当存储库的不同部分遵循不同的约定、需要专用检查或需要针对特定语言、框架或子系统定制的评审指南时,这非常有用。

有关详细信息,请参阅“为GitHub Copilot添加存储库自定义说明”。

注意

审查拉取请求时,Copilot 会从头部分支(包含更改的分支)而不是基础分支读取存储库自定义说明、智能体说明和智能体技能。 例如,在将 my-feature-branch 合并到 main 时,Copilot 会使用 my-feature-branch 中的说明和技能,因此您可以在同一个拉取请求中测试对它们的更改,而无需先将它们合并。

示例

此文件示例 .github/copilot-instructions.md 包含三条指令,这些指令将应用于 Copilot 代码评审存储库中的所有内容。

When performing a code review, respond in Spanish.

When performing a code review, apply the checks in the `/security/security-checklist.md` file.

When performing a code review, focus on readability and avoid nested ternary operators.

MCP 服务器和代理技能

注意

Support for agent skills and MCP servers with Copilot 代码评审 is in 公开预览 and subject to change.

Copilot 代码评审 可以使用仓库中配置的代理技能和 MCP 服务器,前提是它们与评审相关。

若要使这些内容可供 Copilot 代码评审 在 GitHub 上使用,请进行如下配置:

  • 您的存储库(位于 ****)中的.github/skills。 如果希望技能以审阅任务为目标,请使用以审阅为中心的技能目录名称,例如 code-review。 有关设置详细信息,请参阅 为 GitHub Copilot 添加代理技能
  •           存储库 Copilot 设置中的 **MCP 服务器**。 
    

GitHub MCP 服务器和 Playwright MCP 服务器默认处于启用状态。 有关设置详细信息,请参阅 为存储库配置 MCP 服务器

Copilot 代码评审 在以下情况下更有可能使用此上下文:

  • 智能体技能目录具有以审核为中心的名称和说明,例如 code-review,指示它们用于拉取请求审核。
  • 代理技能或自定义说明明确指示 Copilot 代码评审 使用特定的 MCP 上下文。
  • 拉取请求描述会引用可通过已配置的 MCP 服务器访问的项目,例如问题键或事件 ID。

若要验证用于特定评审的 MCP 上下文 Copilot 代码评审 ,请从拉取请求时间线打开链接评审会话,然后检查会话日志以查看调用了哪些 MCP 服务器和工具。

在存储库设置中,允许 Copilot 在审查拉取请求时使用 MCP 工具默认处于启用状态。 如果您希望 MCP 服务器仅对 Copilot云代理 可用,而不对 Copilot 代码评审 可用,请禁用此设置。 有关分步说明,请参阅 为存储库配置 MCP 服务器

延伸阅读