Skip to main content

连接GitHub Copilot CLI到VS Code

连接Copilot CLI和VS Code以共享上下文、信任设置和输出。

连接Copilot CLI与VS Code可为您带来两种环境的最佳结合:既拥有基于终端的工作流的速度和灵活性,又兼具编辑器的丰富视觉工具。 建立连接后,可以:

  •         **使用编辑器选择作为上下文** - 在 CLI 提示符中选择代码 VS Code 并直接引用它,而无需指定文件路径或行号。
    
  •           **以差异形式查看建议更改** — 当 Copilot 建议文件编辑时,会在 VS Code 中以并排差异显示,你可直观查看、接受或拒绝每项更改。
    
  •         **Surface实时诊断** — Copilot可以从 VS Code 访问实时错误和警告,以便它可以查找并修复编辑器已检测到的问题。
    
  •         **跨工具继续会话** - 查看 CLI 会话转录,并在集成终端中继续这些会话 VS Code,而不会丢失上下文。
    

连接到 VS Code

          Copilot CLI 可以在启动 CLI 会话时自动连接到 VS Code 。 此外,在交互式会话期间,可以选择连接到在本地计算机上 VS Code 当前打开的任何工作区。

启动时自动连接

启动 Copilot CLI时,它会检查从中启动 CLI 的当前工作目录是否与在 VS Code 受信任模式下打开的任何工作区文件夹匹配。 如果有匹配项,CLI 将连接到相关 VS Code 实例。 无论你在哪里使用 Copilot CLI:在VS Code中的内置终端,还是在单独窗口中运行的外部终端应用程序,该连接都会建立。

如果 Copilot CLI 成功连接到 VS Code,启动时显示的环境消息将包括“Visual Studio Code 已连接”或“Visual Studio Code - 预览体验成员已连接”。

如果在多个 VS Code 窗口中打开相同的工作区,CLI 会自动连接到其中一个工作区。 它不能同时连接到多个 IDE 实例。 如果您想连接到其他实例 VS Code,可以使用 /ide 命令进行切换。

注意

如果使用 GitHub Codespaces,本地运行的 CLI 会话无法连接到 VS Code 远程代码空间中运行的工作区。 但是,可以在代码空间内使用 CLI(即 VS Code内置终端或远程代码空间主机上的 SSH 会话)内进行连接。

在交互式会话期间手动连接

如果在启动VS Code后打开工作区Copilot CLI,或者从与任何打开的工作区不匹配的目录中启动 CLI,则可以使用/ide斜杠命令手动连接到VS Code工作区。 你要连接的工作区必须当前在 VS Code 中以受信任模式打开。

使用 /ide 斜杠命令管理连接

在交互式Copilot CLI会话中使用/ide斜杠命令:

  •         **查看** 当前连接状态,例如,如果要检查当前连接的工作区。
    
  •           **连接**到其他 VS Code 工作区。
    
  •           **断开**与 VS Code 的连接。
    

还可以从 /ide 菜单中切换以下设置:

  •         **自动连接到匹配的 IDE 工作区** - 控制 CLI 是否在启动时自动连接到匹配 VS Code 的工作区。
    
  •           **在 IDE 中打开文件编辑差异** — 控制建议的文件更改是否在 VS Code 编辑器选项卡中以差异形式显示。
    

          VS Code在提示中使用上下文

每当选择更改时,Copilot CLI 连接到 VS Code 后,它都会收到当前的编辑器选择。 所选内容将显示在 CLI 的提示下,向右对齐。 每当在VS Code中选择不同的代码时,此选择指示器将更新。

这允许你在 VS Code 中选择一些代码,然后使用提示,例如:

Debug this

或者,你可以选择一些代码,但要询问 Copilot 有关整个文件的情况。

Explain this file

以差异的形式查看文件更改

当你要求 Copilot 编辑工作区中的文件时,VS Code 会在新编辑器选项卡中以差异形式显示建议更改。这让你轻松查看 Copilot 的具体建议。 使用差异视图右上角的“接受”或拒绝(✗)按钮应用或放弃更改。 接受或拒绝差异后,挂起的文件编辑权限将得到解决,CLI 将继续其工作流程。

注意

  • 如果你允许 Copilot 未经批准编辑文件,差异视图将不显示 — 例如使用 --allow-all--yolo 命令行选项,或 /allow-all/yolo 斜杠命令。 相反,提议的更改将直接应用于工作区中的文件,无需显示差异,CLI 将立即继续使用更新后的文件内容。
  • 如果您不愿在VS Code使用差异视图,可以在/ide菜单中关闭该功能。 关闭此项后,建议的文件更改将显示在 CLI 中。

查看和恢复 VS Code 中的 CLI 会话

可以在VS Code内读取当前工作区的任何Copilot CLI会话的文字记录。

  1. 打开Copilot聊天侧栏。VS Code

  2. 单击聊天面板右上角的“会话”图标()以显示“会话”视图。

    “会话”视图列出了最近的 Copilot 会话,顶部是最新的会话。

  3. 单击会话可读取完整的输入和输出文本。 对于 CLI 会话,脚本与该会话期间终端中显示的脚本相同。

如果您在当前工作区中运行了尚未在“会话”视图中查看的 CLI 会话,则在标题栏中的VS Code“聊天”图标旁边会显示一个点图标和未读计数。 单击它可切换已筛选的未读会话列表。 再次单击它可清除筛选器并查看所有会话。

VS Code 中未读会话指示器的屏幕截图。

若要在集成终端中 VS Code继续 CLI 会话,请在“会话”视图中右键单击该会话,然后选择 “在终端中恢复”。 这是从外部终端窗口获取工作的快速方法,而不会丢失任何会话上下文。

延伸阅读

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli)