GitHub AI & ML

如何在 VS Code 中继续 GitHub Copilot 应用的会话

GitHub官方教程讲解如何把Copilot应用中的代理会话直接在VS Code中打开继续:会话的任务、对话、diff和worktree完整保留,开发者可逐行审查代理改动、手动编辑、本地运行测试并推送更新到关联的pull request,无需重建上下文。局限是仅覆盖这一特定工作流,不涉及模型能力本身。

An abstract illustration of connected blocks surrounding a central shield with a checkmark representing secure and verified systems.
配图来源 · GitHub AI & ML

代理已完成你改动的大部分内容。现在你想检查某个实现细节,手动调整几行代码,并在发布前在本地运行项目。

但这些工作存放在 GitHub Copilot 应用中……而你的编辑器才是你审查 diff、调试代码并进行最终调整的地方。你必须在留在会话和重新在 Visual Studio Code 中开始之间做选择吗?

不必。你可以直接在 VS Code 中打开 Copilot 应用会话,并保留其对话、代码更改和工作上下文继续工作。这意味着 Copilot 可以处理重复或耗时的任务,然后把控制权交还给你,以便你进行更细致的审查、手动编辑和本地测试。

在本教程中,你将学习如何:

  • 在 VS Code 中打开 Copilot 应用会话。
  • 逐行审查代理所做的更改。
  • 从你的编辑器中继续同一对话。
  • 在本地修改和测试代码。
  • 将你的更新推送到与会话关联的拉取请求。

1. 从 Copilot 应用中的一个会话开始

打开你想继续的会话。在移交之前,花一点时间审查任务以及 Copilot 完成的工作。

一个会话包含的不只是修改文件的集合。它还记录了任务、计划以及产生这些更改的对话。当你想理解 Copilot 为什么选择某个特定实现,或要求它修改部分工作时,这些上下文非常重要。

在迁移到 VS Code 之前,你不需要总结这段历史记录或将其复制到新的聊天中。

2. 在 VS Code 中打开会话

在该会话中,选择 Open in VS Code。如果应用显示多个受支持的编辑器或 VS Code 安装,请选择你想使用的那一个。

VS Code 使用与会话关联的 worktree 打开项目。它还会在 Copilot 侧边栏中显示现有会话。

这为你提供了原始工作的三个相互关联的部分:

  • 会话上下文: 任务、计划和对话仍然可用。
  • diff: 代理更改的文件和行已可供审查。
  • 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 install
  • npm test
  • npm run lint
  • npm run dev

对待智能体生成的更改,应像对待别人写的代码一样:运行相关测试、检查失败原因,并亲自验证行为。

如果开发服务器输出了一个 localhost URL,可以打开它以在浏览器中测试更改。当你的 VS Code 设置支持时,你可以在 VS Code 的集成浏览器中打开该 URL,无需离开编辑器即可检查结果。

对于用户界面的更改,要同时验证所请求的行为和附近的状态。例如,在不同的视口大小下检查被修改的组件,并确认加载、空状态和错误状态仍然正常工作。

6. 继续使用 Copilot 或自己动手编辑

在任何时候,你都可以选择最适合下一步的交互方式:

  • 当更改需要全仓库范围的分析或重复性编辑时,使用提示让 Copilot 完成。
  • 当你明确知道想要的具体更改时,直接编辑。
  • 在测试和打磨实现的过程中,迭代地结合使用这两种方式。

例如,在手动调整 UI 之后,你可以这样问 Copilot:

为更新后的标签添加一个测试并运行相关的测试文件。不要修改无关的组件。

因为你仍在原始会话中,Copilot 保留了理解“更新后的标签”所需的上下文。

7. 提交并推送完成的更改

当实现完成后,再检查一次最终的 diff。然后使用源代码管理视图或集成终端提交并推送更改:

  • git status
  • git add
  • git commit -m "Refine session changes"
  • git push

使用你仓库常规的分支、提交、审查和批准流程。由于 VS Code 打开了与会话关联的 worktree 和分支,推送该分支会更新已经在跟踪这项工作的拉取请求。

无需将完成的文件复制到另一个检出,也无需手动将工作重新连接到拉取请求。

从智能体到编辑器的连续工作流

在 VS Code 中打开 Copilot 应用会话,让你获得清晰的分工,而无需拆分工作本身。Copilot 可以承担较大或重复性的实现工作,而你可以进入编辑器进行详细审查、针对性修改、本地测试和最终打磨。

会话、差异和 worktree 随你而动。先在 Copilot 应用中指导工作,想亲自掌控时切换到 VS Code,然后通过相同的拉取请求工作流推送最终成果。

准备好尝试了吗? 下载 GitHub Copilot 应用,启动一个会话,当你准备继续编码时在 VS Code 中打开它。

这篇文章 如何在 VS Code 中继续 GitHub Copilot 应用会话 首发于 The GitHub Blog.

原始出处

GitHub AI & ML

内容说明

原始发布及相关权利归来源方。

机器翻译 · 请以原文为准