如何在 VS Code 中继续 GitHub Copilot 应用会话
How to continue a GitHub Copilot app session in VS Code
AI 导读
GitHub Copilot 应用中的会话可直接在 VS Code 中打开并继续,对话、代码改动和工作上下文均保持不变。
摘要与补充说明
在会话中选择 Open in VS Code 后,VS Code 会用该会话关联的 worktree 打开项目,并在 Copilot 侧边栏显示原会话,任务、计划和对话记录一并保留。用户可在源代码管理视图中逐行审查 diff,直接手动修改文件,再用集成终端运行测试和本地验证。完成后可通过源代码管理视图或终端提交并推送改动到该会话对应的 pull request。前提是已安装并登录 Copilot 应用、VS Code 连接同一 GitHub 账号,且拥有该会话仓库的推送权限。
正文· AI 翻译
智能体已完成你的大部分改动。现在你想检查某个实现细节、手动调整几行代码,并在发布前在本地运行项目。
但工作成果还留在 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 会使用与该会话关联的 worktree 打开项目。它还会在 Copilot 侧边栏中显示现有会话。
这样你就获得了原始工作的三个相互关联的部分:
- 会话上下文:任务、计划和对话仍然可用。
- 差异:智能体更改的文件和行已准备好供审查。
- Worktree: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 中打开它。
文章 How to continue a GitHub Copilot app session in VS Code 首次出现在 The GitHub Blog。