Skip to main content

将 GitHub Copilot 命令行界面 (CLI) 连接到 VS Code

将 Copilot 命令行界面(CLI) 连接到 VS Code 以共享上下文、信任配置和输出。

将 Copilot 命令行界面(CLI) 连接到 VS Code 可让你充分利用这两种环境:基于终端的工作流的速度和灵活性,以及编辑器的丰富视觉工具。 建立连接后,可以:

  •         **使用编辑器选择作为上下文** — 在 VS Code 中选择代码,并在 CLI 提示符中直接引用它,而无需指定文件路径或行号。
    
  •         **以差异对比形式查看建议的更改** — 当 Copilot 建议文件编辑时,它们在 VS Code 中显示为并排的差异对比,以便你可以直观地查看、接受或拒绝每项更改。
    
  •         **Surface 实时诊断**: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”或“已连接 Visual Studio Code - Insiders”。

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

注意

如果使用 GitHub Codespaces,则在本地运行的 CLI 会话无法连接到在远程 Codespace 中运行的 VS Code 工作区。 不过,你可以在代码空间内使用 CLI 进行连接——也就是说,通过 VS Code 的内置终端或在远程代码空间主机上的 SSH 会话中。

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

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

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

          `/ide`在交互式 Copilot 命令行界面(CLI) 会话中使用斜杠命令:

* 查看 当前连接状态,例如,如果要检查当前连接的工作区。 * 连接到其他 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. VS Code 中打开 Copilot 聊天 侧栏。

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

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

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

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

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

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

延伸阅读

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