Claude Code 的 VS Code 扩展,提供原生图形界面,直接集成到 IDE 中。是在 VS Code 中使用 Claude Code 的推荐方式。

核心机制

扩展和 CLI 共享同一套引擎和配置(~/.claude/settings.json),会话历史互通。扩展提供图形化 diff 查看器、文件引用、多标签会话等 CLI 没有的 UI 功能;CLI 提供完整的 slash commands 和 ! shell 模式等扩展没有的功能。

前提条件:VS Code 1.98.0+,Anthropic 账号。

安装与启动

  1. 在 VS Code 扩展市场搜索 “Claude Code” 安装
  2. 点击编辑器工具栏右上角的 Spark 图标(需要打开文件才显示)
  3. 首次打开时完成浏览器授权

也支持 Cursor、Windsurf 等 VS Code 分支,以及 Open VSX registry。

核心功能

图形化 diff 查看器:Claude 编辑文件时显示并排对比,可接受、拒绝或直接在 diff 视图中修改(Claude 会被告知你修改了内容)。

文件引用(@-mentions):

  • @filename 引用文件(支持模糊匹配)
  • @src/components/ 引用文件夹(末尾加 /)
  • Option+K/Alt+K 插入当前文件和选中行的引用(如 @app.ts#5-10)
  • 选中代码后 Claude 自动可见,点击眼睛图标可隐藏

权限模式切换:提示框底部点击模式指示器切换(normal/plan/auto-accept)。Plan 模式下 VS Code 自动将计划打开为完整 markdown 文档供审阅和内联评论。

多会话:Command Palette → “Open in New Tab” 或 “Open in New Window” 开启并行会话。标签上的彩色点表示状态(蓝=待权限审批,橙=标签隐藏时完成)。

Checkpoint 回滚:悬停消息显示回滚按钮,三个选项:

  • Fork conversation from here(保留代码变更,分叉对话)
  • Rewind code to here(回滚代码,保留对话历史)
  • Fork conversation and rewind code(两者都做)

扩展设置

设置默认说明
useTerminalfalse使用终端模式而非图形面板
initialPermissionModedefault新会话的默认权限模式
autosavetrueClaude 读写前自动保存文件
respectGitIgnoretrue文件搜索排除 .gitignore 中的文件
allowDangerouslySkipPermissionsfalse在模式选择器中添加 Auto mode 和 Bypass permissions

内置 IDE MCP 服务器

扩展运行一个本地 MCP 服务器(命名为 ide),CLI 自动连接。提供两个对模型可见的工具:

  • mcp__ide__getDiagnostics:获取 VS Code Problems 面板的语言服务器诊断
  • mcp__ide__executeCode:在活跃 Jupyter notebook 的 kernel 中运行 Python 代码(每次执行前弹出确认对话框)

服务器绑定 127.0.0.1 随机端口,每次激活生成新的随机 auth token,写入 ~/.claude/ide/ 下权限为 0600 的锁文件。

常见问题

Spark 图标不可见:需要打开文件(仅有文件夹不够),检查 VS Code 版本(需 1.98.0+),禁用冲突的 AI 扩展。

Cmd+Esc 无效(macOS Tahoe+):系统 Game Overlay 快捷键冲突,在 System Settings → Keyboard → Game Controllers 中取消勾选。

扩展不响应:检查网络,尝试新建会话,或在集成终端运行 claude 查看详细错误。

与其他概念的关联

实践要点

  • 扩展和 CLI 共享会话历史,claude --resume 可在终端继续扩展中的对话
  • 第三方提供商(Bedrock/Vertex/Foundry)需要先禁用登录提示(disableLoginPrompt),再配置 ~/.claude/settings.json
  • @terminal:name 可引用 VS Code 终端输出,无需复制粘贴
  • 安全注意:auto-edit 模式下 Claude 可能修改 VS Code 配置文件(settings.json、tasks.json),对不受信任的代码使用手动审批模式