Note
Copilot Workspace 目前处于公共预览版,可能会更改。
关于使用 Copilot 帮助处理拉取请求
创建拉取请求后,可以在 GitHub 网站上继续处理该 PR。 本文介绍 Copilot Workspace,它提供了一种支持 Copilot 的环境,用于:
- 优化拉取请求****
- 验证更改****
- 集成来自审阅者的建议****
Copilot Workspace 使你能够在一个位置(GitHub 上)对拉取请求进行从创建到合并的处理。
Copilot 还可以通过其他方式帮助处理拉取请求。 这些内容将在单独的文章中进行说明。 Copilot 可以:
- 编写拉取请求摘要 - 请参阅“使用 GitHub Copilot 创建拉取请求摘要”。
- 评审拉取请求 - 请参阅“使用 GitHub Copilot 代码评审”。
- 对通过 CodeQL code scanning识别的编码问题提出修复建议 - 请参阅“负责使用 Copilot Autofix 进行代码扫描”。
Copilot Workspace 的好处
Copilot Workspace:
- 使你能够处理拉取请求,而无需在 GitHub 网站和 IDE 之间来回切换。
- 使你能够通过 Copilot 代码评审和 Copilot Autofix 以及人工审阅者的评审轻松查看/测试/修改/应用编码建议。
- 在 GitHub 上提供 Copilot 代码完成建议。 以前,这些功能仅在 IDE 中提供。
- 在基于浏览器的编辑器中显示拉取请求更改的文件列表,还允许你跨存储库查找和编辑任何文件。
- 使你能够直接从 GitHub 上的 Workspace 环境生成、测试和运行代码。
先决条件
要使用 Copilot Workspace,需要:
- Copilot 订阅。 有关详细信息,请参阅“GitHub Copilot 的订阅计划”。
- 从等待列表进入 公共预览版。 若要申请加入候补名单,请参阅加入 Copilot 代码评审候补名单。
- GitHub 网站上具有现有的拉取请求。 如果需要有关创建拉取请求的帮助,请参阅“创建拉取请求”。
你仍可在不访问 Copilot Workspace 的情况下编辑拉取请求中的文件,方法是转到“文件已更改”选项卡,单击要编辑的文件旁边的省略号 (...),然后单击“编辑文件”************。
在拉取请求中编辑文件
要在 Copilot Workspace 中处理拉取请求,请执行以下操作:
-
单击拉取请求主页右侧的“在 Workspace 中打开”按钮****。
这会打开 Copilot Workspace,显示拉取请求的概述。
Copilot Workspace 窗口的左侧是拉取请求更改的文件列表。
-
要处理当前未被此拉取请求更改的文件,请单击“此拉取请求中的文件”,然后从下拉列表中选择“此存储库中的所有文件”********。
-
单击列表中的文件,在 Workspace 编辑器中打开该文件。
该文件显示在差异视图中。 你可以根据需要更改视图。 请参阅本文后面的更改 Workspace 选项。
你可以在提交更改前打开和更改多个文件。
-
完成更改后,单击“评审并提交”****。
将显示“提交更改”面板****。 Copilot 会根据你所做的更改自动生成提交消息。 你可以编辑该消息并根据需要添加扩展描述。
面板会列出已更改的文件。 你可以展开每个文件以查看所做的更改。
-
(可选)如果编辑了多个文件,并且决定不在单次提交中提交所有更改,请清除不想提交其更改的文件旁边的复选框。 单击“提交更改”时,应用于这些文件的更改将保留,但不会提交,你可以在单独的提交中将它们添加到拉取请求中****。
Note
如果清除某些文件旁边的复选框,则可能需要重写提交消息以避免提及对这些文件的更改。
-
单击“提交更改”。
或者,单击“重置所有更改”,将文件恢复到其在拉取请求中的当前状态,这会丢失在 Workspace 编辑器面板中所做的更改****。 重置更改无法撤消。
使用 Copilot 处理拉取请求注释
可以使用 Copilot Workspace 依次处理拉取请求的所有注释,然后提交选择在单次提交中进行的任何更改。
-
在包含代码更改建议的注释中,单击“在 Workspace 中打开”。****
Copilot Workspace 随即打开,在 Workspace 窗口右侧的“建议”面板中显示建议的更改。
-
评审建议的更改,然后单击“建议”面板底部的两个按钮之一:
- “应用”- 如果同意建议的更改****。
- “拒绝”- 如果不想进行建议的更改****。
-
如果拉取请求中有多条注释,可以单击“建议”面板底部的 > 箭头来跳到下一条注释****。
-
(可选)要查看拉取请求中所有注释的列表,请单击“建议”面板左上角的后退箭头。
如果已接受或拒绝任何建议,这些建议将显示在“已应用”和“已拒绝”下拉菜单中,以便可以轻松查看哪些建议尚未处理。
-
评审完建议的更改后,单击“评审并提交”****。
-
(可选)如果决定不在单次提交中提交所有已应用的更改,请清除不想提交其更改的文件旁边的复选框。 单击“提交更改”时,应用于这些文件的更改将保留,但不会提交,你可以在单独的提交中将它们添加到拉取请求中****。
-
单击“提交更改”。
或者,单击“重置所有更改”,将建议恢复到其初始状态,这会丢失所做的应用或拒绝选择,并丢失你通过直接在 Workspace 编辑器面板中编辑文件所做的任何更改****。 重置更改无法撤消。
与 Copilot 谈论拉取请求
-
在 Workspace 窗口顶部,单击 按钮。
-
在 Copilot 面板底部的“询问 Copilot”框中,键入问题,然后按 Enter。
可以提出以下问题:
- 当前显示的文件 - 例如,“如何改进此文件?”
- 整个拉取请求**** - 例如,“此拉取请求中引用了哪些框架?”
- 一般编程主题 - 例如,“Ruby 的最新版本是什么?”
有关详细信息,请参阅“在 GitHub 中向 GitHub Copilot 提问”。
Note
目前,Copilot Workspace 的 公共预览版 并未提供所有 Copilot Chat 功能。
验证更改
Workspace 包括一个内置终端和一种快速生成、运行和测试代码的方法。
打开终端
要打开终端,请单击 Workspace 编辑器面板右上角的 。
Note
终端需要 codespace 才能运行。 如果未看到 图标,则可能需要等待几秒钟,以便 codespace 启动。
运行终端命令
可以直接在终端中键入命令,也可以使用快捷命令通过单击几下来运行常用命令。
配置个人快捷命令
可以配置在 Copilot Workspace 中处理特定项目时可使用的“生成”、“运行”和“测试”命令************。 如果已为存储库配置了命令,可以将其替换为供你自己个人使用的替代命令。
-
在 Workspace 窗口顶部,单击“ 配置”****。
如果已经定义了“生成”、“运行”和“测试”快捷命令,将显示“ 生成”按钮而不是“ 配置”************。 单击“ 生成”按钮旁边的下拉箭头,然后从下拉菜单中单击“ 配置”。
-
在“配置命令”对话框中,输入要用于“生成”、“运行”和“测试”选项的命令************。
-
单击“ 保存”。
为存储库配置快捷命令
可以为使用 Copilot Workspace 处理存储库拉取请求的每个人设置默认的“生成”、“运行”和“测试”命令************。
-
在存储库的根目录中创建或编辑名为
.devcontainer/devcontainer.json
的文件。Note
.devcontainer/devcontainer.json
文件是为存储库创建的 codespace 的配置文件。 有关详细信息,请参阅“开发容器简介”。 -
按如下所示添加
commands
部分,将此处显示的示例命令替换为处理存储库的人员应该使用的命令。{ "commands": { "Build": "make", "Run": "./bin/start", "Test": "make test" } }
-
单击“ 保存”。
使用 Workspace 快捷命令
-
要运行第一个定义的快捷命令(通常是“生成”),请单击 Workspace 窗口顶部的按钮****。
-
要运行其他快捷命令,请单击按钮旁边的下拉箭头,然后从下拉菜单中单击要运行的命令。
-
单击“运行”后,当进程正在运行时,可以再次单击下拉箭头,并从选项中选择停止或重启进程,或查看运行命令的输出****。
预览 Web 应用程序
如果运行命令启动了 Web 服务器, 按钮将显示在 Workspace 窗口的顶部。
单击此按钮可在浏览器的新标签页中预览服务器输出。
更改 Workspace 选项
可以更改文件在 Copilot Workspace 中的显示方式。
更改差异视图
-
单击 Workspace 编辑器面板右上角的比较选取器图标 ()。
-
选择视图选项:
- “统一”- 在单个视图中显示更改,添加的行以绿色突出显示,删除的行以红色突出显示****。
- “拆分”- 在拆分视图中显示更改,左侧是原始文件,右侧是新文件****。
- 隐藏 - 显示此拉取请求中文件的当前状态,不显示拉取请求所做的更改****。
长行换行
- 单击 Workspace 编辑器面板右上角的省略号 (...)****。
- 单击“换行”以打开或关闭换行****。