如何在 VS Code 中继续 GitHub Copilot 应用会话
How to continue a GitHub Copilot app session in VS Code
GitHub Copilot 应用中的会话可直接在 VS Code 中打开并继续,对话、代码改动和工作上下文均完整保留。VS Code 会打开该会话关联的 worktree,并在 Copilot 侧边栏显示原会话,便于逐行审查 diff、手动编辑、本地运行测试,最后提交并推送到会话对应的 pull request。
智能体已完成你的大部分更改。现在你想检查某个实现细节、手动调整几行代码,并在发布前在本地运行项目。
但工作成果留在 GitHub Copilot 应用中……而你的编辑器才是你审查差异、调试代码并进行最终调整的地方。你必须在留在会话中和在 Visual Studio Code 中重新开始之间做出选择吗?
不必如此。你可以直接在 VS Code 中打开 Copilot 应用会话,并在其对话、代码更改和工作上下文保持完整的情况下继续。这意味着 Copilot 可以处理重复性或耗时的工作,然后将控制权交还给你,以便进行更仔细的审查、手动编辑和本地测试。
在本教程中,你将学习如何:
- 在 VS Code 中打开 Copilot 应用会话。
- 逐行审查智能体的更改。
- 从编辑器中继续同一对话。
- 在本地修改并测试代码。
- 将你的更新推送到与该会话关联的拉取请求。
前提条件
开始之前,请确保你已具备:
- 已安装并登录 GitHub Copilot 应用。
- 已安装 Visual Studio Code 并连接到同一个 GitHub 账户。
- 一个包含你想要审查或继续的代码更改的 Copilot 应用会话。
- 有权在该会话的仓库中工作并推送更改。
本教程假设你已经熟悉在 VS Code 中导航、在其集成终端中运行命令,以及使用 Git 分支和拉取请求。
1. 从 Copilot 应用中的会话开始
打开你想要继续的会话。在移交之前,花点时间查看任务和 Copilot 完成的工作。
会话不仅仅是修改文件的集合。它还记录了任务、计划以及产生这些更改的对话。当你想了解 Copilot 为何选择某个特定实现,或要求它修改部分工作时,这些上下文非常重要。
你无需在转到 VS Code 之前总结该历史记录或将其复制到新聊天中。
2. 在 VS Code 中打开会话
在会话中,选择 Open in VS Code。如果应用提供了多个受支持的编辑器或 VS Code 安装,请选择你想要使用的那一个。
VS Code 使用与该会话关联的工作树打开项目。它还会在 Copilot 边栏中显示现有会话。
这样你就获得了原始工作的三个相互关联的部分:
- 会话上下文:任务、计划和对话仍然可用。
- 差异:智能体更改的文件和行已准备好供审查。
- 工作树:VS Code 打开与会话使用的相同的隔离工作树。
你是在继续现有会话,而不是在新的编辑器窗口中重建它。
3. 审查智能体的更改
在编辑之前,请在 VS Code 中检查差异。打开源代码管理视图查看更改的文件,然后选择一个文件逐行审查其更改。
像审查任何其他提议的更改一样审查该实现。特别要检查:
- 代码解决了所请求的问题。
- 实现遵循仓库的约定。
- 错误状态和边缘情况得到适当处理。
- 测试覆盖了发生变化的行为。
- 没有修改无关的文件或行为。
保留的对话有助于解释 Copilot 是如何得出该实现的。如果有不清楚的地方,请在边栏中继续向 Copilot 提问。例如:
Explain why you changed this function instead of adding a new helper. Identify any behavior this could affect.你也可以让 Copilot 再做一次修改。由于会话和工作树保持连接,你无需从头描述任务。
4. 进行手动编辑
理解建议的更改后,直接在 VS Code 中编辑任意文件。
这对于更快或更容易手动完成的调整很有用,例如:
- 完善标签或错误消息。
- 为清晰起见重命名变量。
- 调整布局或样式。
- 添加缺失的测试用例。
- 应用仓库特定的约定。
你正在编辑会话现有的工作树,因此你的手动更改会直接基于智能体的工作成果。你无需在目录之间复制文件或手动重新创建分支。
5. 在本地运行并验证项目
使用 VS Code 集成终端运行项目的常规验证工作流。具体命令取决于仓库,但一些 Web 应用示例可能包括:
npm installnpm testnpm run lintnpm run dev
像对待他人编写的代码一样对待智能体生成的更改:运行相关测试、检查失败情况,并自行验证行为。
如果开发服务器打印出 localhost URL,请在浏览器中打开它以测试更改。如果你的 VS Code 设置支持,你可以在 VS Code 的集成浏览器中打开该 URL,无需离开编辑器即可检查结果。
对于用户界面更改,请验证所请求的行为以及附近的状态。例如,检查修改后的组件在不同视口尺寸下的表现,并确认加载、空和错误状态仍然正常工作。
6. 继续使用 Copilot 或自行编辑
在任何时候,你都可以选择最适合下一步的交互方式:
- 当更改需要仓库范围的分析或重复性编辑时,提示 Copilot。
- 当你知道想要的确切更改时,直接编辑。
- 在测试和完善实现时,迭代地使用这两种方法。
例如,在进行手动 UI 调整后,你可以要求 Copilot:
为更新后的标签添加测试并运行相关测试文件。不要修改无关组件。
由于你仍在原始会话中,Copilot 保留了理解“更新后的标签”所需的上下文。
7. 提交并推送完成的更改
实现准备就绪后,再次查看最终差异。然后使用源代码管理视图或集成终端提交并推送更改:
git statusgit addgit commit -m "Refine session changes"git push
使用仓库常规的分支、提交、审查和批准实践。由于 VS Code 打开了与会话关联的工作树和分支,推送该分支会更新已在跟踪该工作的拉取请求。
无需将完成的文件复制到另一个检出目录,也无需手动将工作重新连接到拉取请求。
从智能体到编辑器的连续工作流
在 VS Code 中打开 Copilot 应用会话可让你实现清晰的分工,而无需拆分工作本身。Copilot 可以承担更大规模或重复性的实现工作,而你可以进入编辑器进行详细审查、有针对性的更改、本地测试和最终润色。
会话、差异和工作树会随你移动。首先在 Copilot 应用中指导工作,随时切换到 VS Code 进行手动控制,并通过相同的拉取请求工作流推送最终结果。
准备好尝试了吗?下载 GitHub Copilot 应用,启动会话,并在准备好继续编码时在 VS Code 中打开它。
文章 如何在 VS Code 中继续 GitHub Copilot 应用会话 首次出现在 The GitHub Blog。
来源:GitHub Blog · AI & ML · github.blog