Skip to main content

使用 GitHub Copilot 代码评审

了解如何从 GitHub Copilot 请求代码评审。

谁可以使用此功能?

This feature is not available in GitHub Copilot Free.

Note

  • GitHub Copilot 代码评审 为公共预览版,可能会发生变化。
  • 要参与 公共预览版,你的组织的管理员必须选择使用 Copilot 功能的预览版。 请参阅“管理组织中的 Copilot 策略”。
  • 某些功能适用于所有已启用 Copilot 订阅者,但其他功能仅适用于有限数量的用户。 若要加入额外功能的候补名单,请参阅加入 Copilot 代码评审候补名单
  • GitHub 预发行许可条款”适用于你对本产品的使用。

关于 Copilot 代码评审

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

Copilot 代码评审支持两种评审类型:

  • 评审选定内容:突出显示代码并请求初始评审(仅限 Visual Studio Code)****__
  • 评审更改:请求更深入地评审所有更改(GitHub 网站和 Visual Studio Code)****__

下表汇总了两种评审类型的当前功能和可用性:

功能评审选定内容查看更改
环境Visual Studio CodeVisual Studio Code 和 GitHub 网站
说明对突出显示的代码部分进行初始评审并提供反馈和建议更深入地评审所有更改
语言支持AllC#、Go、Java、JavaScript、Markdown、Python、Ruby、TypeScript
自定义编码准则支持是,请参阅使用编码准则对 Copilot 的评审进行自定义设置
可用性公共预览版,适用于所有 Copilot 订阅者具有候补名单的公共预览版,请参阅加入 Copilot 代码评审等待列表

Warning

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

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

向 Copilot 请求评审

这些说明介绍如何在 GitHub 网站中使用 Copilot 代码评审。 要查看关于 Visual Studio Code 的说明,请使用页面顶部的“Visual Studio Code”工具切换器。

向 Copilot 请求拉取请求审查

Note

向 Copilot 请求拉取请求审查目前仅适用于有限数量的 Copilot 订阅者。 若要加入等待列表,请参阅加入 Copilot 代码评审等待列表

  1. 在 GitHub.com 上,创建拉取请求或导航到现有拉取请求。

  2. 打开“审查者”菜单,然后选择“Copilot”********。

    从“审查者”菜单中选择“Copilot”的屏幕截图。

  3. 等待 Copilot 审查拉取请求。 这通常会在 30 秒内完成。

  4. 向下滚动并通读 Copilot 的注释。

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

    Copilot 始终保留“注释”评审,而不是“批准”评审或“请求更改”评审。 这意味着 Copilot 的评审不计入拉取请求所需的评审,并且 Copilot 的评审不会阻止合并更改。 有关详细信息,请参阅“批准需要审查的拉取请求”。

  5. Copilot 的评审注释就像人工评审的注释一样。 你可以对这些注释添加回应、进行评论,以及解决或隐藏它们。

    添加到 Copilot 的评审注释的任何评论将对人类可见,但这些评论对 Copilot 不可见,Copilot 不会回复。

处理 Copilot 提供的建议的更改

如果可能,Copilot 的反馈会包括建议的更改,单击几次即可应用这些更改。

如果你对更改感到满意,则可以接受来自 Copilot 中的单个建议并提交,也可以接受单个提交中的一组建议。 有关详细信息,请参阅“在拉取请求中加入反馈”。

如果要验证 Copilot 的建议的更改(例如通过运行自动化测试或 Linter),或者如果要在提交建议的更改之前做出修改,请单击“在工作区中打开”按钮****。 有关详细信息,请参阅“使用 Copilot 帮助处理拉取请求”。

提供有关 Copilot 提供的评审的反馈

可以直接在每个注释中提供有关 Copilot 提供的注释的反馈。 我们将利用此信息来改进产品和 Copilot 提供的建议质量。

  1. 在 Copilot 提供的拉取请求审查注释中,单击拇指向上 (👍) 或拇指向下 (👎) 按钮。

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

  2. 如果单击拇指向下按钮,系统会要求你提供其他信息。 (可选)可以选择给出负面反馈的原因并留下评论,然后再点击“提交反馈”****。

    对 Copilot 提供的评论提供负面反馈时,用于提供附加信息的表单的屏幕截图。

向 Copilot 请求重新评审

将更改推送到 Copilot 已评审的拉取请求时,它不会自动重新评审更改。

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

Note

重新评审拉取请求时,Copilot 可能会再次重复给出相同的注释,即使这些注释已通过“解决对话”按钮消除或者用拇指向下 (👎) 按钮表示了反对。

启用 Copilot 中的自动评审

默认情况下,必须针对每个拉取请求手动向 Copilot 请求评审。

可以使用在存储库级别或组织级别配置的规则集,针对所有拉取请求启用 Copilot 中的自动评审。 有关详细信息,请参阅“关于规则集”。

要开启此功能,请启用嵌套在“合并前需要拉取请求”下的“向 Copilot 请求拉取请求审查”分支规则********。

“向 Copilot 请求拉取请求审查”分支规则的屏幕截图。

使用编码准则对 Copilot 的评审进行自定义设置

Note

自定义编码准则目前仅适用于 Copilot 代码评审 的 公共预览版 中的选定参与者。 从等待列表中被接受不提供即时访问权限。 此外,自定义编码准则仅作为 GitHub Copilot Enterprise 订阅的一部分提供。

使用 Copilot 代码评审 查看 Visual Studio Code 或 GitHub 网站中的更改时,可以使用以自然语言编写的自定义编码准则来自定义 Copilot 的评审。 Copilot 在评审代码时将根据编码准则提供反馈。 有关详细信息,请参阅“为 GitHub Copilot 代码评审配置编码准则”。

基于编码准则生成的注释将包含一条消息,其中突出显示了其来源。

根据自定义编码准则生成的注释的屏幕截图。

这些说明介绍如何在 Visual Studio Code 中使用 Copilot 代码评审。 要查看有关 GitHub 网站的说明,请使用页面顶部的“Web 浏览器”工具切换器。

Note

Copilot 代码评审 仅可在 Visual Studio Code 版本 0.22 或更高版本的 GitHub Copilot Chat 扩展中使用。

评审选定代码

可以请求对 Visual Studio Code 中突出显示的选定代码进行初始评审。

  1. 在 Visual Studio Code 中,选择要评审的代码。

  2. 打开 VS Code Command Palette

    • 对于 Mac:
      • 使用:Shift+Command+P
    • 对于 Windows 或 Linux:
      • 使用 Ctrl+Shift+P
  3. 在命令面板中,搜索并选择“GitHub Copilot: 评审和注释”****。

    Visual Studio Code 中的命令面板的屏幕截图,其中选中了“GitHub Copilot: 评审和注释”。****

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

    Copilot 在 Visual Studio Code 中执行评审时的进度指示器的屏幕截图。

  5. 如果 Copilot 有任何注释,它们将以内嵌方式显示在文件中和“问题”选项卡中****。

    Visual Studio Code 中来自 Copilot 的注释的屏幕截图。

查看更改

Note

评审更改目前仅适用于有限数量的 Copilot 订阅者。 若要加入等待列表,请参阅加入 Copilot 代码评审等待列表

可以请求评审 Visual Studio Code 中的暂存或非暂存更改。

  1. 在 VS Code 中,切换到“源代码管理”选项卡****。

  2. 要请求针对非暂存更改的评审,请将光标悬停在边栏中的“更改”上,然后单击“ Copilot 代码评审 - 更改”按钮********。

    Visual Studio Code 中的“Copilot 代码评审 - 更改”按钮的屏幕截图。 代码评审按钮用深橙色框标出。

  3. 要请求针对暂存更改的评审,请将光标悬停在边栏中的“暂存更改”上,然后单击“ Copilot 代码评审 - 暂存更改”按钮********。

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

    Copilot 在 Visual Studio Code 中执行评审时的进度指示器的屏幕截图。

  5. 如果 Copilot 有任何注释,它们将以内嵌方式显示在文件中和“问题”选项卡中****。

    Visual Studio Code 中来自 Copilot 的注释的屏幕截图。

处理 Copilot 提供的建议的更改

在可能的情况下,Copilot 的反馈包括建议的更改,单击一次即可应用这些更改。

Visual Studio Code 中来自 Copilot 的注释的屏幕截图,其中包含建议的更改。

如果对当前更改感到满意,可以通过单击“应用并转到下一更改”按钮,接受来自 Copilot 的建议****。 应用的任何更改都不会自动提交。

如果不想应用 Copilot 的建议的更改,请单击“放弃并转到下一更改”按钮****。

提供有关 Copilot 提供的评审的反馈

可以直接在每个注释中提供有关 Copilot 提供的注释的反馈。 我们将利用此信息来改进产品和 Copilot 提供的建议质量。

若要提供反馈,请将光标悬停在注释上,然后单击拇指向上或拇指向下按钮。

Visual Studio Code 中来自 Copilot 的注释的屏幕截图,其中显示了反馈按钮。 按钮以深橙色框出。

使用编码准则对 Copilot 的评审进行自定义设置

Note

自定义编码准则目前仅适用于 Copilot 代码评审 的 公共预览版 中的选定参与者。 从等待列表中被接受不提供即时访问权限。 此外,自定义编码准则仅作为 GitHub Copilot Enterprise 订阅的一部分提供。

使用 Copilot 代码评审 查看 Visual Studio Code 或 GitHub 网站中的更改时,可以使用以自然语言编写的自定义编码准则来自定义 Copilot 的评审。 Copilot 在评审代码时将根据编码准则提供反馈。 有关详细信息,请参阅“为 GitHub Copilot 代码评审配置编码准则”。

基于编码准则生成的注释将包含一条消息,其中突出显示了其来源。