Appearance
Copilot CLI 不必孤立运行——连接到 VS Code 后,你可以直接在 CLI 里引用编辑器里选中的代码块,同时在 VS Code 里看到 CLI 对文件的修改 diff。CLI 和 IDE 之间的上下文共享,让两种工作模式可以无缝切换。
GitHub Copilot CLI 连接 VS Code:跨工具无缝上下文共享
为什么要连接 VS Code
Copilot CLI 擅长处理复杂任务、深度代码分析;VS Code 擅长可视化编辑、diff 查看、文件导航。连接两者后,你能同时享受两者的优势:
- 在 CLI 中说"修复我选中的这段代码"——直接用 VS Code 里的选区,不需要复制粘贴或手写文件路径
- CLI 修改完文件后,在 VS Code 里看到美观的 side-by-side diff,逐行确认变更
- 在终端里继续上次 CLI 会话,VS Code 里保存的上下文不丢失
自动连接
启动 Copilot CLI 时,它会自动检测当前目录是否与某个打开的 VS Code 可信工作区匹配。如果匹配,连接自动建立。
连接成功的标志:CLI 启动时显示的环境信息里包含:
Visual Studio Code connected或:
Visual Studio Code - Insiders connected手动连接
在 CLI 会话中,使用 /ide 命令管理连接:
| 命令 | 功能 |
|---|---|
/ide | 查看当前连接状态 |
/ide connect | 选择并连接到一个打开的 VS Code 工作区 |
/ide disconnect | 断开当前连接 |
手动连接适合工作区路径不完全匹配的情况(比如 CLI 在子目录中启动,但 VS Code 打开的是父目录)。
连接后的功能
在 CLI 中引用 VS Code 选区
在 VS Code 里选中一段代码,然后在 CLI 中用 @editor 引用它:
> 解释一下 @editor 这段代码的性能问题Copilot 会直接获取 VS Code 中当前选中的代码块,不需要你手动指定文件名和行号。
在 VS Code 中查看文件 diff
CLI 让 Copilot 修改文件后,你可以在 VS Code 里看到完整的 side-by-side diff:
- 哪些行被添加(绿色)
- 哪些行被删除(红色)
- 比终端输出的 diff 更易读
会话记录互通
在 VS Code 中可以查看 Copilot CLI 的会话历史(Chronicle),也可以在 VS Code 的集成终端中恢复一个 CLI 会话,上下文不丢失。
VS Code Live Diagnostics 在 CLI 中可见
VS Code 报告的 TypeScript 类型错误、Lint 问题会自动反馈给 CLI 里的 Copilot,让它在修复代码时能感知到编辑器的错误状态,而不只是依赖静态分析。
与 Claude Code VS Code Extension 的对比
Claude Code 也有 VS Code 扩展,提供类似的 IDE 集成。主要差异在于:
- Copilot CLI ↔ VS Code:需要先在终端启动 Copilot CLI,然后自动或手动与 VS Code 连接
- Claude Code:直接作为 VS Code 扩展运行,无需额外终端进程
如果你的工作流以终端为主、偶尔需要 IDE,Copilot CLI + VS Code 连接模式更合适;如果主要在 IDE 里工作,Claude Code Extension 更顺手。
常见问题
Q: 连接后 CLI 会访问 VS Code 里所有打开的文件吗?
A: 不会主动读取所有文件,只有在你明确引用(如 @editor、@file)时才会访问。VS Code 工作区必须是"可信任"状态,否则 CLI 无法连接。
Q: 支持多个 VS Code 窗口同时连接吗?
A: CLI 一次只能连接一个 VS Code 窗口。使用 /ide connect 可以切换到另一个窗口。
Q: 在 WSL 终端里运行 Copilot CLI,能连接 Windows 上的 VS Code 吗?
A: 支持。VS Code 的 Remote - WSL 功能让两者可以识别到同一工作区,连接机制可以正常工作。