# 使用 GitHub Copilot code review 于 GitHub

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

当由企业管理员或组织所有者启用时，Copilot code review 也可供没有 Copilot 许可证的组织成员使用。 请参阅 [Copilot code review（针对无 Copilot 许可证的组织成员）](/zh/copilot/concepts/agents/code-review#copilot-code-review-without-a-copilot-license)。

## 请求 Copilot 进行评审

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

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

   ![Copilot 的屏幕截图，其中显示“审阅者”下方的“请求”按钮。](/assets/images/help/copilot/code-review/request-review@2x.png)

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

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

   ![Copilot 留下的代码评审的屏幕截图。](/assets/images/help/copilot/code-review/review-comment@2x.png)

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

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

您还可以通过 Copilot REST API 向 GitHub 请求评审，只需将 `copilot-pull-request-reviewer[bot]` 作为审阅者提出请求。 有关详细信息，请参阅“[用于审查请求的 REST API 终结点](/zh/rest/pulls/review-requests#request-reviewers-for-a-pull-request)”。

## 处理建议的更改

Copilot的反馈通常包含建议的更改，你只需点击几下即可应用。 接受单个建议或将多个建议组合为一项提交。 有关详细信息，请参阅“[在拉取请求中加入反馈](/zh/pull-requests/how-tos/review-pull-requests/incorporating-feedback-in-your-pull-request)”。

要让 Copilot cloud agent 直接实施建议的更改：

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

## 提供对评论的反馈

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

1. 在评论批注 Copilot中，单击大拇指向上（：+1：）或拇指向下（：-1：）按钮。

   ![显示 Copilot code review 注释的屏幕截图，其中包含拇指向上和拇指向下按钮。](/assets/images/help/copilot/code-review/feedback-controls@2x.png)

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

   ![对 Copilot 的注释提供负面反馈时，用于提供附加信息的表单截图。](/assets/images/help/copilot/code-review/feedback-modal@2x.png)

## 请求重新评审

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

若要手动请求重新评审，请单击<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-sync" aria-label="Re-request review" role="img"><path d="M1.705 8.005a.75.75 0 0 1 .834.656 5.5 5.5 0 0 0 9.592 2.97l-1.204-1.204a.25.25 0 0 1 .177-.427h3.646a.25.25 0 0 1 .25.25v3.646a.25.25 0 0 1-.427.177l-1.38-1.38A7.002 7.002 0 0 1 1.05 8.84a.75.75 0 0 1 .656-.834ZM8 2.5a5.487 5.487 0 0 0-4.131 1.869l1.204 1.204A.25.25 0 0 1 4.896 6H1.25A.25.25 0 0 1 1 5.75V2.104a.25.25 0 0 1 .427-.177l1.38 1.38A7.002 7.002 0 0 1 14.95 7.16a.75.75 0 0 1-1.49.178A5.5 5.5 0 0 0 8 2.5Z"></path></svg>Copilot”菜单中“名称”旁边的\*\*\*\* 按钮。 有关详细信息，请参阅“[请求拉取请求审查](/zh/pull-requests/how-tos/create-pull-requests/requesting-a-pull-request-review)”。

若要在每个推送上自动请求重新评审，请启用自动代码评审，然后在规则集设置中选择“ **审阅新推送** ”。 有关详细信息，请参阅“[Configuring code review by GitHub Copilot](/zh/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review#configuring-automatic-code-review-for-repositories-in-an-organization)”。

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

## 启用自动评审

默认情况下，你需要在每个拉取请求上手动请求 Copilot 进行评审。 若要为所有拉取请求启用自动评审，请参阅 [Configuring code review by GitHub Copilot](/zh/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review)。

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

你可以通过向存储库中添加自定义指令来自定义 Copilot code review。 存储库自定义说明可以是存储库范围的，也可以是特定于路径的。

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

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

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

有关详细信息，请参阅“[为GitHub Copilot添加存储库自定义说明](/zh/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-repository-instructions)”。

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

### 示例

此文件示例 `.github/copilot-instructions.md` 包含三条指令，这些指令将应用于 Copilot code review存储库中的所有内容。

```text
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 服务器和代理技能

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

若要使这些内容可供 Copilot code review 在 GitHub 上使用，请进行如下配置：

* 您的存储库（位于 \*\*\*\*）中的`.github/skills`。 如果希望技能以审阅任务为目标，请使用以审阅为中心的技能目录名称，例如 `code-review`。 有关设置详细信息，请参阅 [为 GitHub Copilot 添加代理技能](/zh/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/add-skills)。
* ```
            存储库 Copilot 设置中的 **MCP 服务器**。 
  ```

GitHub MCP 服务器和 Playwright MCP 服务器默认处于启用状态。 有关设置详细信息，请参阅 [为存储库配置 MCP 服务器](/zh/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers)。

Copilot code review 在以下情况下更有可能使用此上下文：

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

若要验证用于特定评审的 MCP 上下文 Copilot code review ，请检查每个审阅评论底部是否存在属性。 这些属性引用用于生成该注释的特定代理技能或 MCP 服务器 Copilot code review 。 还可以从拉取请求时间线打开链接评审会话，然后检查会话日志以查看调用了哪些 MCP 服务器和工具。

在存储库设置中，**允许 Copilot 在审查拉取请求时使用 MCP 工具**默认处于启用状态。 如果您希望 MCP 服务器仅对 Copilot cloud agent 可用，而不对 Copilot code review 可用，请禁用此设置。 有关分步说明，请参阅 [为存储库配置 MCP 服务器](/zh/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers#disabling-mcp-tools-for-code-review)。

## 延伸阅读

* [关于GitHub Copilot 代码评审](/zh/copilot/concepts/agents/code-review)
* [查看来自 Copilot 的输出](/zh/copilot/how-tos/copilot-on-github/use-copilot-agents/review-copilot-output)