跳至主要内容

将 GitHub Copilot CLI 连接到 VS Code

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

将 Copilot CLI 连接到 VS Code 可让您兼具两种环境的优势:基于终端的工作流的速度与灵活性,以及编辑器的丰富可视化工具。建立连接后,您可以

  • 将编辑器选择用作上下文 — 在 VS Code 中选择代码,直接在 CLI 提示中引用,无需指定文件路径或行号。
  • 以差异形式审阅提议的更改 — 当 Copilot 建议编辑文件时,修改会以并排差异的形式出现在 VS Code 中,您可以直观地审阅、接受或拒绝每一项更改。
  • 呈现实时诊断信息 — Copilot 能访问来自 VS Code 的实时错误和警告,从而发现并修复编辑器已检测到的问题。
  • 跨工具继续会话 — 在 VS Code 中查看 CLI 会话记录,并在集成终端中恢复会话而不丢失上下文。

连接到 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 connected” 或 “Visual Studio Code - Insiders connected”。

如果同一工作区在多个 VS Code 窗口中打开,CLI 会自动连接其中的一个窗口,无法同时连接多个 IDE 实例。如需连接到其他 VS Code 实例,可使用 /ide 命令切换。

注意

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

交互式会话期间手动连接

如果在启动 Copilot CLI 后打开了 VS Code 工作区,或是从与任何打开的工作区都不匹配的目录启动 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 继续其工作流。

注意

  • 如果您使用了 --allow-all--yolo 命令行选项,或 /allow-all/yolo 斜杠命令,允许 Copilot 在未获得您批准的情况下直接编辑文件,则不会显示差异视图。提议的更改会直接写入工作区中的文件,CLI 随即使用更新后的文件内容继续执行。
  • 如果您不希望在 VS Code 中使用差异视图,可以在 /ide 菜单中关闭此功能。关闭后,提议的文件更改会在 CLI 中显示。

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

您可以直接在 VS Code 中读取当前工作区的任意 Copilot CLI 会话记录。

  1. 打开 VS Code 中的 Copilot Chat 侧栏。

  2. 点击会话图标 () 位于聊天面板右上角以显示会话视图。

    会话视图会列出您最近的 Copilot 会话,最新的位于顶部。

  3. 点击某个会话即可阅读完整的输入和输出文本。对于 CLI 会话,记录内容与该会话期间终端显示的内容完全一致。

如果您在当前工作区运行了尚未在会话视图中查看的 CLI 会话,VS Code 标题栏的聊天图标旁会出现一个点图标以及未读计数。点击该图标可切换显示未读会话的过滤列表;再次点击可清除过滤并显示全部会话。

Screenshot of the unread sessions indicator in VS Code.

要在 VS Code 的集成终端中继续 CLI 会话,右键单击会话视图中的会话条目,选择 Resume in Terminal(在终端中恢复)。这样即可快速从外部终端窗口接续工作,而不会丢失任何会话上下文。

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.