跳到主要内容

IDE 桥接

Claude Code 通过 IDE Bridgesrc/bridge/,31 文件)实现与 VS Code 和 JetBrains IDE 的双向通信,让 Claude Code 无缝嵌入到现有的开发工作流中。

支持的 IDE

IDE扩展方式状态
VS Code官方扩展完整支持
JetBrains (IntelliJ, WebStorm...)官方插件完整支持

桥接架构

┌──────────────────────┐     ┌──────────────────────┐
│ IDE │ │ Claude Code CLI │
│ │ │ │
│ ┌────────────────┐ │ │ ┌────────────────┐ │
│ │ 扩展/插件 │ │ ←→ │ │ Bridge 模块 │ │
│ │ │ │ JWT │ │ │ │
│ │ - 面板 UI │ │ │ │ - 会话管理 │ │
│ │ - 命令代理 │ │ │ │ - 权限回调 │ │
│ │ - 状态同步 │ │ │ │ - 工具执行 │ │
│ └────────────────┘ │ │ └────────────────┘ │
│ │ │ │
│ 编辑器 ← 文件操作 │ │ LLM → 工具调用 │
└──────────────────────┘ └──────────────────────┘

桥接模块结构

bridge/
├── vscode/ # VS Code 特定逻辑
├── jetbrains/ # JetBrains 特定逻辑
├── repl/ # REPL 会话桥接
├── auth/ # JWT 认证
│ ├── token.ts # Token 生成与验证
│ └── handshake.ts # 连接握手
├── permissions/ # 权限回调
│ └── callback.ts # IDE → CLI 权限确认
└── runner/ # 会话运行器
└── session.ts # 会话生命周期管理

认证机制

IDE Bridge 使用 JWT 进行安全认证:

1. CLI 启动时生成 JWT 密钥对
2. IDE 扩展通过本地连接获取公钥
3. 每次通信携带 JWT Token
4. 双向验证身份

功能列表

从 IDE → Claude Code

  • 发送选中的代码片段
  • 发送文件路径上下文
  • 触发命令执行
  • 传递编辑器状态(光标位置、打开的文件等)

从 Claude Code → IDE

  • 打开/聚焦文件
  • 应用代码编辑
  • 显示差异对比
  • 导航到特定位置
  • 显示诊断信息

权限回调

当 Claude Code 在 IDE 模式下运行时,权限确认可以通过 IDE 的 UI 进行:

Claude Code 请求执行工具

通过 Bridge 发送权限请求到 IDE

IDE 显示权限确认对话框

用户在 IDE 中确认/拒绝

结果通过 Bridge 返回给 CLI

BRIDGE_MODE 特性标记

在编译时,BRIDGE_MODE 特性标记控制是否包含 IDE 桥接代码:

if (BRIDGE_MODE) {
// IDE 桥接相关代码
initBridge();
registerBridgeCallbacks();
}

这确保了独立 CLI 模式下不会包含不必要的桥接代码。