Skip to main content

使用 Copilot 帮助处理拉取请求

可以使用 Copilot Workspace 来循环访问、验证和集成对代码的建议更改。

谁可以使用此功能?

This feature is not available in GitHub Copilot Free.

Note

Copilot Workspace 目前处于公共预览版,可能会更改。

关于使用 Copilot 帮助处理拉取请求

创建拉取请求后,可以在 GitHub 网站上继续处理该 PR。 本文介绍 Copilot Workspace,它提供了一种支持 Copilot 的环境,用于:

  • 优化拉取请求****
  • 验证更改****
  • 集成来自审阅者的建议****

Copilot Workspace 使你能够在一个位置(GitHub 上)对拉取请求进行从创建到合并的处理。

Copilot 还可以通过其他方式帮助处理拉取请求。 这些内容将在单独的文章中进行说明。 Copilot 可以:

Copilot Workspace 的好处

Copilot Workspace:

  • 使你能够处理拉取请求,而无需在 GitHub 网站和 IDE 之间来回切换。
  • 使你能够通过 Copilot 代码评审和 Copilot Autofix 以及人工审阅者的评审轻松查看/测试/修改/应用编码建议。
  • 在 GitHub 上提供 Copilot 代码完成建议。 以前,这些功能仅在 IDE 中提供。
  • 在基于浏览器的编辑器中显示拉取请求更改的文件列表,还允许你跨存储库查找和编辑任何文件。
  • 使你能够直接从 GitHub 上的 Workspace 环境生成、测试和运行代码。

先决条件

要使用 Copilot Workspace,需要:

你仍可在不访问 Copilot Workspace 的情况下编辑拉取请求中的文件,方法是转到“文件已更改”选项卡,单击要编辑的文件旁边的省略号 (...),然后单击“编辑文件”************。

在拉取请求中编辑文件

要在 Copilot Workspace 中处理拉取请求,请执行以下操作:

  1. 单击拉取请求主页右侧的“在 Workspace 中打开”按钮****。

    这会打开 Copilot Workspace,显示拉取请求的概述。

    Copilot Workspace 窗口的左侧是拉取请求更改的文件列表。

    Copilot Workspace 左侧 PR 中文件列表的屏幕截图。

  2. 要处理当前未被此拉取请求更改的文件,请单击“此拉取请求中的文件”,然后从下拉列表中选择“此存储库中的所有文件”********。

  3. 单击列表中的文件,在 Workspace 编辑器中打开该文件。

    该文件显示在差异视图中。 你可以根据需要更改视图。 请参阅本文后面的更改 Workspace 选项

    你可以在提交更改前打开和更改多个文件。

  4. 完成更改后,单击“评审并提交”****。

    将显示“提交更改”面板****。 Copilot 会根据你所做的更改自动生成提交消息。 你可以编辑该消息并根据需要添加扩展描述。

    “提交更改”面板的屏幕截图,其中显示了自动生成的提交消息和三个已更改的文件。

    面板会列出已更改的文件。 你可以展开每个文件以查看所做的更改。

  5. (可选)如果编辑了多个文件,并且决定不在单次提交中提交所有更改,请清除不想提交其更改的文件旁边的复选框。 单击“提交更改”时,应用于这些文件的更改将保留,但不会提交,你可以在单独的提交中将它们添加到拉取请求中****。

    Note

    如果清除某些文件旁边的复选框,则可能需要重写提交消息以避免提及对这些文件的更改。

  6. 单击“提交更改”。

    或者,单击“重置所有更改”,将文件恢复到其在拉取请求中的当前状态,这会丢失在 Workspace 编辑器面板中所做的更改****。 重置更改无法撤消。

使用 Copilot 处理拉取请求注释

可以使用 Copilot Workspace 依次处理拉取请求的所有注释,然后提交选择在单次提交中进行的任何更改。

  1. 在包含代码更改建议的注释中,单击“在 Workspace 中打开”。****

    Copilot 代码评审 的编码建议的屏幕截图。

    Copilot Workspace 随即打开,在 Workspace 窗口右侧的“建议”面板中显示建议的更改。

  2. 评审建议的更改,然后单击“建议”面板底部的两个按钮之一:

    • “应用”- 如果同意建议的更改****。
    • “拒绝”- 如果不想进行建议的更改****。
  3. 如果拉取请求中有多条注释,可以单击“建议”面板底部的 > 箭头来跳到下一条注释****。

    “建议”面板的屏幕截图,其中显示了“>”箭头和“拒绝”与“应用”按钮。

  4. (可选)要查看拉取请求中所有注释的列表,请单击“建议”面板左上角的后退箭头。

    “建议”面板的屏幕截图,其中显示了左上角的后退箭头。

    如果已接受或拒绝任何建议,这些建议将显示在“已应用”和“已拒绝”下拉菜单中,以便可以轻松查看哪些建议尚未处理。

    “建议”面板中注释列表的屏幕截图。 两条注释待操作。 下面是标题为“1 条已应用”和“1 条已拒绝”的下拉链接。

  5. 评审完建议的更改后,单击“评审并提交”****。

  6. (可选)如果决定不在单次提交中提交所有已应用的更改,请清除不想提交其更改的文件旁边的复选框。 单击“提交更改”时,应用于这些文件的更改将保留,但不会提交,你可以在单独的提交中将它们添加到拉取请求中****。

  7. 单击“提交更改”。

    或者,单击“重置所有更改”,将建议恢复到其初始状态,这会丢失所做的应用或拒绝选择,并丢失你通过直接在 Workspace 编辑器面板中编辑文件所做的任何更改****。 重置更改无法撤消。

与 Copilot 谈论拉取请求

  1. 在 Workspace 窗口顶部,单击 按钮。

  2. 在 Copilot 面板底部的“询问 Copilot”框中,键入问题,然后按 Enter

    可以提出以下问题:

    • 当前显示的文件 - 例如,“如何改进此文件?”
    • 整个拉取请求**** - 例如,“此拉取请求中引用了哪些框架?”
    • 一般编程主题 - 例如,“Ruby 的最新版本是什么?”

    有关详细信息,请参阅“在 GitHub 中向 GitHub Copilot 提问”。

Note

目前,Copilot Workspace 的 公共预览版 并未提供所有 Copilot Chat 功能。

验证更改

Workspace 包括一个内置终端和一种快速生成、运行和测试代码的方法。

打开终端

要打开终端,请单击 Workspace 编辑器面板右上角的

Note

终端需要 codespace 才能运行。 如果未看到 图标,则可能需要等待几秒钟,以便 codespace 启动。

运行终端命令

可以直接在终端中键入命令,也可以使用快捷命令通过单击几下来运行常用命令。

配置个人快捷命令

可以配置在 Copilot Workspace 中处理特定项目时可使用的“生成”、“运行”和“测试”命令************。 如果已为存储库配置了命令,可以将其替换为供你自己个人使用的替代命令。

  1. 在 Workspace 窗口顶部,单击“ 配置”****。

    如果已经定义了“生成”、“运行”和“测试”快捷命令,将显示“ 生成”按钮而不是“ 配置”************。 单击“ 生成”按钮旁边的下拉箭头,然后从下拉菜单中单击“ 配置”

    “命令”下拉菜单的屏幕截图,其中“配置”选项以深橙色轮廓突出显示。

  2. 在“配置命令”对话框中,输入要用于“生成”、“运行”和“测试”选项的命令************。

  3. 单击“ 保存”。

为存储库配置快捷命令

可以为使用 Copilot Workspace 处理存储库拉取请求的每个人设置默认的“生成”、“运行”和“测试”命令************。

  1. 在存储库的根目录中创建或编辑名为 .devcontainer/devcontainer.json 的文件。

    Note

    .devcontainer/devcontainer.json 文件是为存储库创建的 codespace 的配置文件。 有关详细信息,请参阅“开发容器简介”。

  2. 按如下所示添加 commands 部分,将此处显示的示例命令替换为处理存储库的人员应该使用的命令。

    {
      "commands": {
        "Build": "make",
        "Run": "./bin/start",
        "Test": "make test"
      }
    }
    
  3. 单击“ 保存”。

使用 Workspace 快捷命令

  1. 要运行第一个定义的快捷命令(通常是“生成”),请单击 Workspace 窗口顶部的按钮****。

  2. 要运行其他快捷命令,请单击按钮旁边的下拉箭头,然后从下拉菜单中单击要运行的命令。

    “命令”下拉菜单的屏幕截图,其中“运行”选项以深橙色轮廓突出显示。

  3. 单击“运行”后,当进程正在运行时,可以再次单击下拉箭头,并从选项中选择停止或重启进程,或查看运行命令的输出****。

    正在运行的应用程序的下拉菜单屏幕截图,其中“停止”选项以深橙色轮廓突出显示。

预览 Web 应用程序

如果运行命令启动了 Web 服务器, 按钮将显示在 Workspace 窗口的顶部。

单击此按钮可在浏览器的新标签页中预览服务器输出。

更改 Workspace 选项

可以更改文件在 Copilot Workspace 中的显示方式。

更改差异视图

  1. 单击 Workspace 编辑器面板右上角的比较选取器图标 ()。

  2. 选择视图选项:

    • “统一”- 在单个视图中显示更改,添加的行以绿色突出显示,删除的行以红色突出显示****。
    • “拆分”- 在拆分视图中显示更改,左侧是原始文件,右侧是新文件****。
    • 隐藏 - 显示此拉取请求中文件的当前状态,不显示拉取请求所做的更改****。

长行换行

  1. 单击 Workspace 编辑器面板右上角的省略号 (...)****。
  2. 单击“换行”以打开或关闭换行****。