跳到正文
GitHub Blog · AI & ML· Kayla Cinnamon·· 9 小时前精选AI 评分62

如何在 VS Code 中继续 GitHub Copilot app 会话

How to continue a GitHub Copilot app session in VS Code

AI 导读

GitHub Copilot app 会话可以直接在 VS Code 中继续,保留原有对话、代码改动和工作树。教程介绍如何逐行审查改动、手动编辑并在本地运行测试,最后提交并推送更新至该会话关联的 pull request。

推荐理由

教程梳理了从 Copilot app 会话切换到 VS Code 的完整流程,说明如何保留对话、代码改动与工作树,并在同一分支完成测试和推送。

正文 · 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 中打开会话

在会话中,选择 在 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 install
  • npm test
  • npm run lint
  • npm run dev

对待代理生成的更改,就像对待他人编写的代码一样:运行相关测试、检查失败项,并自行验证其行为。

如果开发服务器输出了本地主机 URL,请打开它,在浏览器中测试更改。如果你的 VS Code 配置支持,也可以在 VS Code 的集成浏览器中打开该 URL,无需离开编辑器即可检查结果。

对于用户界面更改,请验证所需行为和相关状态。例如,在不同视口尺寸下检查修改后的组件,并确认加载、空内容和错误状态仍能正常工作。

6. 继续使用 Copilot 或自行编辑

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

  • 如果更改需要对整个代码仓库进行分析或重复编辑,就向 Copilot 提示需求。
  • 如果你清楚自己要做的具体更改,就直接编辑。
  • 测试并完善实现时,可以迭代地结合这两种方式。

例如,手动调整 UI 后,你可以让 Copilot:

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

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

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

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

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

遵循代码仓库常用的分支、提交、审查和审批流程。由于 VS Code 打开的是与该会话关联的工作树和分支,推送分支后,已跟踪这项工作的拉取请求也会随之更新。

无需将完成的文件复制到另一个工作区,也不必手动将工作重新关联到拉取请求。

从代理到编辑器的连续工作流

在 VS Code 中打开 Copilot 应用会话,可以让工作分工清晰,同时又不会把工作拆散。Copilot 可以承担较大规模或重复性的实现工作,而你可以转到编辑器中进行细致审查、针对性修改、本地测试和最终润色。

会话、差异和工作树会随你切换。先在 Copilot 应用中安排工作;需要亲自操作时,随时切换到 VS Code;最后通过同一套拉取请求工作流推送完成的结果。

准备好试试了吗?下载 GitHub Copilot 应用,开始一个会话,并在准备好继续编写代码时于 VS Code 中打开它。

这篇文章如何在 VS Code 中继续 GitHub Copilot 应用会话最初发表于GitHub 博客。

来源:GitHub Blog · AI & ML · github.blog