<!-- title: Claude Code全平台IDE集成与混合工作流实战 -->

# Claude Code全平台IDE集成与混合工作流实战

## 概述

Claude Code不只是一个终端工具——它已经深度融入VS Code、JetBrains全家桶、Neovim、Emacs等主流编辑器生态。本教程将带你掌握Claude Code在六大平台（CLI终端、VS Code扩展、JetBrains插件、Neovim、Emacs、桌面端）的安装配置与实战技巧，重点讲解如何构建"终端+IDE"混合工作流，实现AI编码效率的最大化。适合已了解Claude Code基础概念、希望在不同编辑器中无缝使用它的开发者。

## 前置条件

- 已安装Claude Code CLI（`npm install -g @anthropic-ai/claude-code`）
- 拥有Anthropic API Key或Claude Pro/Max订阅
- 至少安装了以下编辑器之一：VS Code、JetBrains IDE、Neovim、Emacs
- 基本了解Claude Code的核心概念（Agent、权限、CLAUDE.md）

---

## 第一章：Claude Code六大运行平台全景

Claude Code在所有平台运行**同一个底层引擎**，但每个平台针对不同的工作方式做了优化。理解它们的差异是构建高效工作流的前提。

```mermaid
graph TB
    subgraph Engine["Claude Code Engine（统一核心）"]
        A[Agent Loop<br/>工具调用/代码读写]
        B[权限系统<br/>settings.json]
        C[上下文管理<br/>CLAUDE.md/Memory]
        D[MCP协议<br/>外部工具集成]
    end

    subgraph Surfaces["六大运行界面"]
        E["🖥️ CLI终端<br/>全功能/脚本化"]
        F["🧩 VS Code扩展<br/>可视化Diff/内联编辑"]
        G["🔮 JetBrains插件<br/>Diff查看/选区共享"]
        H["📝 Neovim<br/>终端分屏/MCP集成"]
        I["📧 Emacs<br/>vterm/eglot集成"]
        J["🌐 桌面端/Web<br/>零配置入门"]
    end

    A --> E
    A --> F
    A --> G
    A --> H
    A --> I
    A --> J

    style Engine fill:#f0f4ff,stroke:#4a6cf7
    style Surfaces fill:#fff8f0,stroke:#ff8c42
```

### 各平台能力对比

| 能力 | CLI终端 | VS Code扩展 | JetBrains插件 | Neovim | Emacs | 桌面端 |
|------|---------|-------------|--------------|--------|-------|--------|
| 代码读写 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 可视化Diff | ❌ | ✅ 内联 | ✅ 原生 | ⚠️ 需插件 | ⚠️ 需插件 | ❌ |
| @文件引用 | ✅ Tab | ✅ @mention | ✅ 选区共享 | ❌ | ❌ | ❌ |
| Plan模式 | ✅ /plan | ✅ 面板 | ✅ 面板 | ✅ | ✅ | ✅ |
| 非交互模式 | ✅ -p | ⚠️ 有限 | ⚠️ 有限 | ✅ | ✅ | ❌ |
| 权限可视化 | ❌ | ✅ 按钮 | ✅ 按钮 | ❌ | ❌ | ✅ |
| Hooks | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| MCP工具 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 多会话 | ✅ tmux | ⚠️ 单会话 | ⚠️ 单会话 | ✅ 分屏 | ✅ vterm | ⚠️ |

> **核心原则**：Claude Code在任何平台使用相同的`settings.json`权限配置、相同的`CLAUDE.md`上下文、相同的MCP服务器。切换平台不会丢失任何配置。

---

## 第二章：VS Code扩展——最推荐的IDE集成

VS Code扩展是Anthropic官方**最推荐**的使用方式，提供了图形化的内联Diff查看、@文件引用、快捷键支持等独家功能。

### 2.1 安装配置

**方式一：从VS Code Marketplace安装**

```
1. 打开VS Code
2. 按 Ctrl+Shift+X（macOS: Cmd+Shift+X）打开扩展面板
3. 搜索 "Claude Code"
4. 点击安装（发布者：Anthropic）
5. 安装完成后，侧边栏出现Claude图标
```

**方式二：从CLI自动安装**

```bash
# Claude Code CLI可以自动安装VS Code扩展
claude install-vs-code-extension
```

**方式三：从Marketplace网页安装**

直接访问 [VS Code Marketplace页面](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code)，点击"Install"。

### 2.2 三种运行模式详解

VS Code中运行Claude Code有三种方式，它们共享同一个引擎但暴露不同功能：

```mermaid
graph LR
    subgraph "VS Code中的三种模式"
        A["扩展面板模式<br/>（Extension Panel）"]
        B["集成终端模式<br/>（Integrated Terminal）"]
        C["外部终端模式<br/>（External Terminal + /ide）"]
    end

    A -->|特点| A1["✅ 可视化Diff<br/>✅ @文件引用<br/>✅ Plan Review面板<br/>❌ 无vim模式支持"]
    B -->|特点| B1["✅ 完整CLI功能<br/>✅ 所有斜杠命令<br/>⚠️ 无可视化Diff<br/>✅ 支持vim模式"]
    C -->|特点| C1["✅ 完整CLI功能<br/>✅ 文件感知/ide连接<br/>✅ 灵活终端选择<br/>❌ 无可视化Diff"]

    style A fill:#e8f5e9
    style B fill:#e3f2fd
    style C fill:#fff3e0
```

**模式一：扩展面板模式（推荐日常使用）**

点击侧边栏Claude图标 → 打开聊天面板。这是最直观的方式：

- 输入 `@` 引用文件、符号、URL
- 修改代码时自动显示**内联Diff视图**，可逐行Accept/Reject
- `Shift+Tab` 切换到Plan Review模式，审核后再执行
- `Ctrl+Shift+P` → "Claude Code: Focus Chat" 快速聚焦

**模式二：集成终端模式**

```
Ctrl+` 打开终端 → 输入 claude
```

这种方式获得完整CLI体验（包括所有斜杠命令），但没有可视化Diff。适合需要执行`/compact`、`/permissions`等管理命令时使用。

**模式三：外部终端 + `/ide` 连接**

```bash
# 在外部终端（如iTerm2、Ghostty、Alacritty）中启动
claude
# 进入Claude Code后，连接到VS Code
> /ide
```

这会让终端中的Claude Code与VS Code建立双向通信，Claude能感知你当前打开的文件和选中的代码。

### 2.3 VS Code核心功能实战

**内联Diff工作流**

```mermaid
sequenceDiagram
    participant D as 开发者
    participant CC as Claude Code扩展
    participant E as VS Code编辑器

    D->>CC: 输入"重构auth.ts的登录逻辑"
    CC->>CC: 分析代码上下文
    CC->>E: 显示内联Diff（绿色新增/红色删除）
    D->>E: 逐个Accept或Reject修改块
    Note over D,E: Shift+Tab切换到Plan模式预览
    D->>CC: 确认执行
    CC->>E: 应用修改到文件
```

当Claude Code提出代码修改时，VS Code扩展会在编辑器中直接显示Diff：

1. **绿色高亮** = 新增代码
2. **红色高亮** = 删除代码
3. 每个Diff块右侧有 `✓ Accept` / `✗ Reject` 按钮
4. 可以只接受部分修改，拒绝其他部分

**@引用系统**

在扩展面板中输入消息时：

```
@file:src/auth/login.ts      # 引用特定文件
@symbol:authenticateUser      # 引用代码符号
@folder:src/components/       # 引用整个文件夹
@url:https://docs.example.com # 引用网页内容
@git:main                     # 引用Git分支差异
```

**快捷键配置**

VS Code扩展内置了常用快捷键，也可以自定义：

| 操作 | 默认快捷键 | 说明 |
|------|-----------|------|
| 聚焦聊天 | `Ctrl+Shift+L` | 打开Claude面板 |
| 发送消息 | `Enter` | 发送当前输入 |
| 换行 | `Shift+Enter` | 输入中换行 |
| Plan模式 | `Shift+Tab` | 切换规划/执行 |
| 接受Diff | `Ctrl+Y` | 接受当前Diff块 |
| 拒绝Diff | `Ctrl+N` | 拒绝当前Diff块 |

### 2.4 VS Code常见问题与解决

| 问题 | 原因 | 解决方案 |
|------|------|----------|
| 扩展无法连接 | API Key未配置 | 运行 `claude` CLI先完成认证 |
| Diff不显示 | 用了终端模式而非扩展面板 | 切换到扩展面板模式 |
| 权限弹窗过多 | 未配置allowlist | 在`settings.json`中添加允许的工具 |
| 扩展面板卡顿 | 大文件Diff渲染慢 | 使用 `/compact` 压缩上下文 |
| Vim模式冲突 | 扩展面板不支持vim键绑定 | 切换到集成终端模式 |

---

## 第三章：JetBrains全家桶集成

JetBrains IDE（IntelliJ IDEA、PyCharm、WebStorm、GoLand、RustRover等）通过官方插件接入Claude Code，提供与JetBrains原生Diff查看器的深度集成。

### 3.1 插件安装

```
1. 打开IDE → Settings/Preferences → Plugins
2. 搜索 "Claude Code"
3. 安装插件（发布者：Anthropic）
4. 重启IDE
5. 侧边栏出现Claude Code工具窗口
```

或直接从 [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/27310-claude-code-beta-) 下载。

### 3.2 支持的IDE列表

| IDE | 最低版本 | 状态 |
|-----|---------|------|
| IntelliJ IDEA | 2024.1+ | ✅ 稳定 |
| PyCharm | 2024.1+ | ✅ 稳定 |
| WebStorm | 2024.1+ | ✅ 稳定 |
| GoLand | 2024.1+ | ✅ 稳定 |
| RustRover | 2024.1+ | ✅ 稳定 |
| CLion | 2024.1+ | ⚠️ Beta |
| RubyMine | 2024.1+ | ⚠️ Beta |
| DataGrip | 2024.1+ | ⚠️ 有限支持 |
| Android Studio | 2024.1+ | ✅ 稳定 |

### 3.3 JetBrains独有功能

**选区上下文共享（Selection Context Sharing）**

这是JetBrains插件的杀手级功能——当你在编辑器中选中一段代码时，Claude Code自动感知选区内容：

```java
// 在编辑器中选中这段代码
public void processOrder(Order order) {
    if (order == null) throw new IllegalArgumentException();
    // ... 选中到这里
}
```

然后在Claude面板中输入："帮我重构这段代码，提取验证逻辑"，Claude已经知道你选中了什么，无需手动复制粘贴。

**JetBrains原生Diff查看器**

与VS Code的内联Diff不同，JetBrains使用自己的Diff对话框：

```
1. Claude Code提出修改
2. 自动打开JetBrains Diff Viewer
3. 左侧=原始文件，右侧=修改后文件
4. 使用 >> / << 按钮逐块应用或忽略
5. 支持合并冲突解决
```

**与JetBrains功能联动**

- **代码导航**：Claude的建议可以链接到具体文件位置，点击直接跳转
- **版本控制集成**：Diff操作与Git changelist联动
- **运行配置**：Claude可以触发JetBrains的Run/Debug配置
- **数据库工具**：在DataGrip中，Claude可以辅助SQL编写

### 3.4 JetBrains常见问题

| 问题 | 解决方案 |
|------|----------|
| 插件搜索不到 | 检查IDE版本≥2024.1，确认Marketplace仓库连接正常 |
| Diff窗口不弹出 | Settings → Tools → Claude Code → 勾选"Show Diff Viewer" |
| 上下文感知失败 | 确保文件已在编辑器中打开且已索引 |
| 性能问题 | 排除大型生成目录（Settings → Project Structure → Excluded） |

---

## 第四章：Neovim与Emacs——终端派的极致集成

### 4.1 Neovim集成方案

Neovim社区为Claude Code开发了多个插件，提供了从基础集成到深度MCP通信的完整方案。

**方案一：claude-code.nvim（推荐）**

```lua
-- lazy.nvim 安装
{
    "greggh/claude-code.nvim",
    dependencies = {
        "nvim-lua/plenary.nvim",
    },
    config = function()
        require("claude-code").setup({
            -- 可选配置
            window = {
                position = "vertical",  -- "vertical" | "horizontal" | "float"
                width = 50,             -- 垂直分屏宽度
                height = 20,            -- 水平分屏高度
            },
            keymaps = {
                toggle = "<leader>cc",   -- 切换Claude窗口
                send = "<leader>cs",     -- 发送选中文本
            },
        })
    end,
}
```

**核心命令**：

```
:Claude              " 打开Claude Code终端
:ClaudeSend          " 发送当前选中文本给Claude
:ClaudeChat          " 打开聊天模式
:<leader>cc          " 切换Claude分屏
```

**方案二：终端分屏 + /ide 标志**

不依赖任何插件，直接利用Claude Code的`--ide`协议：

```bash
# 在Neovim中打开终端分屏
:terminal
# 在终端中启动Claude Code并连接编辑器
claude --ide nvim
```

Claude Code的`--ide`标志是一个通用协议，可以让终端中的Claude与编辑器建立双向通信。这意味着：

- Claude知道你当前光标所在的文件和位置
- 你可以在Neovim中继续编辑，Claude能感知变化
- 修改实时反映在Neovim缓冲区中

**方案三：MCP深度集成**

更高级的做法是创建一个MCP服务器，让Claude Code直接读取Neovim的上下文：

```lua
-- 通过MCP共享Neovim上下文给Claude Code
-- 参考: https://www.laktek.com/using-claude-code-with-neovim
local mcp_server = {
    name = "neovim-context",
    tools = {
        get_open_buffers = function()
            -- 返回当前所有打开的buffer信息
        end,
        get_current_selection = function()
            -- 返回当前选中内容
        end,
        get_lsp_diagnostics = function()
            -- 返回LSP诊断信息
        end,
    }
}
```

### 4.2 Emacs集成方案

Emacs用户主要通过`vterm`或`eshell`运行Claude Code，结合Emacs的编辑能力形成强大的工作流。

**vterm方案（推荐）**

```elisp
;; 配置vterm
(use-package vterm
  :config
  (setq vterm-shell "/bin/bash"))

;; 定义快捷函数
(defun my/claude-code ()
  "在vterm中启动Claude Code"
  (interactive)
  (vterm)
  (vterm-send-string "claude\n"))

(global-set-key (kbd "C-c c") 'my/claude-code)

;; 发送选区到Claude Code
(defun my/send-region-to-claude (start end)
  "发送选中文本到Claude Code vterm窗口"
  (interactive "r")
  (let ((text (buffer-substring-no-properties start end)))
    ;; 切换到vterm窗口并发送文本
    (other-window 1)
    (vterm-send-string text)
    (vterm-send-return)))

(global-set-key (kbd "C-c s") 'my/send-region-to-claude)
```

**eglot/LSP集成**

Claude Code在2025年末获得了原生LSP支持，这意味着它可以作为Emacs LSP客户端的补码提供者：

```mermaid
graph LR
    A[Emacs编辑器] -->|eglot/lsp-mode| B[LSP协议]
    B --> C[Claude Code LSP Server]
    C --> D[AI代码补全<br/>重构建议<br/>诊断修复]
    D -->|建议| A

    E[vterm终端] -->|claude CLI| F[Claude Code Agent]
    F -->|代码读写| G[项目文件]

    style A fill:#7f5ab6,color:#fff
    style C fill:#e8f5e9
    style F fill:#e3f2fd
```

### 4.3 Vim用户方案

对于经典Vim用户，有`claude.vim`插件提供基础集成：

```vim
" vim-plug 安装
Plug 'claude-mod/claude.vim'

" 基础命令
:Claude              " 启动Claude Code
:ClaudeAsk           " 询问问题
:ClaudeRefactor      " 重构当前buffer
```

---

## 第五章：混合工作流架构——终端+IDE协同

这是本教程的核心章节。真正的效率不在于选择哪个平台，而在于**根据任务类型在平台间无缝切换**。

### 5.1 三层混合架构

```mermaid
graph TB
    subgraph "第一层：深度编码（IDE扩展）"
        A1["VS Code扩展<br/>前端开发/小文件修改"]
        A2["JetBrains插件<br/>Java/Python大型项目"]
        A3["Neovim分屏<br/>配置文件/快速编辑"]
    end

    subgraph "第二层：项目级Agent（CLI终端）"
        B1["大规模重构<br/>多文件跨模块修改"]
        B2["Git操作<br/>提交/PR/代码审查"]
        B3["脚本自动化<br/>CI/CD管道任务"]
    end

    subgraph "第三层：全平台共享配置"
        C1["CLAUDE.md<br/>项目级指令"]
        C2["settings.json<br/>权限与MCP"]
        C3["Memory系统<br/>持久化知识"]
    end

    A1 -.->|需要复杂操作时| B1
    A2 -.->|需要复杂操作时| B2
    A3 -.->|需要复杂操作时| B3
    C1 --> A1
    C1 --> A2
    C1 --> A3
    C1 --> B1
    C1 --> B2
    C1 --> B3
    C2 --> A1
    C2 --> A2

    style A1 fill:#e8f5e9
    style A2 fill:#e8f5e9
    style A3 fill:#e8f5e9
    style B1 fill:#e3f2fd
    style B2 fill:#e3f2fd
    style B3 fill:#e3f2fd
    style C1 fill:#fff3e0
    style C2 fill:#fff3e0
    style C3 fill:#fff3e0
```

### 5.2 任务-平台决策矩阵

| 任务类型 | 最佳平台 | 原因 |
|----------|----------|------|
| 单文件修改/审查 | VS Code扩展 | 内联Diff可视化最直观 |
| Java大型重构 | JetBrains插件 | 原生Diff查看器+索引优势 |
| 跨10+文件重构 | CLI终端 | 无需逐个打开文件，Agent自动遍历 |
| Git提交/PR | CLI终端 | 直接操作git，无需切换窗口 |
| 前端组件开发 | VS Code扩展 | 实时预览+Diff+文件引用 |
| 配置文件编辑 | Neovim/终端 | 快速启动，无IDE开销 |
| 文档编写 | 任意 | 根据个人偏好 |
| CI/CD脚本 | CLI终端 -p模式 | 非交互式，可脚本化 |
| 调试辅助 | IDE扩展 | 断点+日志+Claude分析联动 |
| 代码审查 | CLI终端 | `/review`命令高效全面 |

### 5.3 实战：构建你的混合工作流

**场景一：前端开发的日常循环**

```mermaid
sequenceDiagram
    participant Dev as 开发者
    participant VSC as VS Code扩展
    participant CLI as CLI终端
    participant Git as Git仓库

    Note over Dev,Git: 🌅 开始新功能开发

    Dev->>CLI: claude -p "分析项目结构，<br/>规划新功能实现方案"
    CLI-->>Dev: 返回功能拆分和文件清单

    Dev->>VSC: @file:Component.tsx "添加用户认证逻辑"
    VSC->>VSC: 显示内联Diff
    Dev->>VSC: Accept ✓ / Reject ✗

    Note over Dev,Git: 🔄 迭代修改

    Dev->>VSC: "修复TS类型错误"
    VSC->>VSC: 显示修复Diff

    Note over Dev,Git: ✅ 准备提交

    Dev->>CLI: /review 检查所有改动
    CLI-->>Dev: 返回审查报告

    Dev->>CLI: "生成commit message并提交"
    CLI->>Git: git add + git commit
```

**场景二：Java后端大型重构**

```
步骤1：在IntelliJ中打开项目，确认编译通过
步骤2：在IDE内置终端启动 claude
步骤3：输入 "将UserService从Spring MVC迁移到Spring WebFlux"
步骤4：Claude遍历30+文件生成修改方案
步骤5：切换到JetBrains插件面板查看Diff
步骤6：逐个文件在JetBrains Diff Viewer中审核
步骤7：在终端执行测试验证
```

**场景三：多编辑器协同（Neovim + VS Code）**

```bash
# 终端1：Neovim编辑配置文件
nvim docker-compose.yml

# 终端2：Claude Code执行基础设施修改
claude
> 根据docker-compose.yml更新所有Dockerfile，
> 确保版本号一致，添加健康检查

# 终端3：VS Code打开前端项目审查UI改动
code ./frontend
# 在VS Code扩展中审查前端组件修改
```

### 5.4 /ide命令——平台间的桥梁

`/ide`命令（或启动时使用`claude --ide`）是Claude Code的跨平台粘合剂：

```bash
# 在外部终端启动Claude Code并连接VS Code
claude --ide vscode

# 在Neovim终端中启动并连接Neovim
claude --ide nvim

# 在Claude Code会话中动态连接
> /ide
# 检测到运行中的IDE并建立连接
```

**`/ide`连接提供的能力**：
- Claude感知你在IDE中当前打开的文件
- 修改直接反映在IDE编辑器中
- IDE的文件保存触发Claude的上下文刷新
- 可以在终端中使用完整CLI功能，同时享受IDE的可视化

---

## 第六章：跨平台共享配置管理

无论你使用哪个平台，以下配置文件是共享的。理解配置层级是高效使用多平台的关键。

### 6.1 CLAUDE.md三层配置层级

```mermaid
graph TB
    A["~/.claude/CLAUDE.md<br/>（全局用户级）"]
    B["项目根目录/CLAUDE.md<br/>（项目级）"]
    C["子目录/CLAUDE.md<br/>（目录级）"]

    A -->|所有项目共享| B
    B -->|项目特定| C

    D["加载顺序"] --> E["1. 全局CLAUDE.md<br/>个人编码偏好"]
    D --> F["2. 项目CLAUDE.md<br/>项目约定/架构"]
    D --> G["3. 目录CLAUDE.md<br/>模块特定规则"]

    style A fill:#ffcdd2
    style B fill:#c8e6c9
    style C fill:#bbdefb
```

**全局CLAUDE.md示例**（`~/.claude/CLAUDE.md`）：

```markdown
# 全局编码偏好

## 语言
- 默认使用中文回复
- 代码注释使用英文

## 通用规则
- 不要自动commit
- 始终先读取文件再编辑
- 优先编辑现有文件而非创建新文件
- commit message不加版本号
```

**项目CLAUDE.md示例**（`项目根/CLAUDE.md`）：

```markdown
# 项目配置

## 技术栈
- React 18 + TypeScript
- Vite构建
- Vitest测试

## 约定
- 组件使用函数式组件 + Hooks
- 状态管理使用Zustand
- 测试文件放在 __tests__/ 目录
- API调用统一走 src/api/ 层
```

### 6.2 settings.json权限配置

权限配置在各平台通用。关键配置文件位置：

| 配置文件 | 位置 | 作用域 |
|----------|------|--------|
| 全局设置 | `~/.claude/settings.json` | 所有项目 |
| 项目设置 | `.claude/settings.json` | 当前项目 |
| 本地设置 | `.claude/settings.local.json` | 不提交到Git |

**推荐的全局settings.json**：

```json
{
  "permissions": {
    "allow": [
      "Bash(npm test*)",
      "Bash(npm run lint*)",
      "Bash(npm run build*)",
      "Bash(git status*)",
      "Bash(git diff*)",
      "Bash(git log*)",
      "Read",
      "Glob",
      "Grep"
    ],
    "deny": [
      "Bash(rm -rf*)",
      "Bash(sudo*)"
    ]
  },
  "env": {
    "CLAUDE_CODE_MAX_TURNS": "200"
  }
}
```

### 6.3 MCP服务器配置同步

MCP配置在`settings.json`中定义，所有平台共享：

```json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-filesystem", "/path/to/project"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}
```

无论你在VS Code、JetBrains还是终端中使用Claude Code，这些MCP工具都会自动加载。

---

## 第七章：快捷键与自定义键绑定

### 7.1 CLI模式快捷键

Claude Code终端模式的核心快捷键（v2.1.18+支持自定义）：

| 快捷键 | 功能 | 说明 |
|--------|------|------|
| `Enter` | 发送消息 | 发送当前输入 |
| `Shift+Enter` | 换行 | 输入多行内容 |
| `Escape` | 取消当前操作 | 中断Agent执行 |
| `Ctrl+C` | 取消/退出 | 强制中断 |
| `Tab` | 自动补全 | 文件路径/斜杠命令 |
| `Ctrl+L` | 清屏 | 清除对话历史显示 |
| `/` | 斜杠命令 | 触发命令菜单 |

### 7.2 自定义键绑定

通过`~/.claude/keybindings.json`文件自定义CLI快捷键：

```json
{
  "version": 1,
  "bindings": [
    {
      "key": "ctrl+s",
      "action": "submit"
    },
    {
      "key": "ctrl+p",
      "action": "plan_mode"
    },
    {
      "key": "ctrl+r",
      "action": "compact"
    },
    {
      "key": "ctrl+o",
      "action": "new_session"
    }
  ]
}
```

> 使用 `/keybindings` 命令可以直接从Claude Code中创建或编辑键绑定文件。

---

## 第八章：实战案例——全栈项目的多平台工作流

### 项目背景

一个全栈项目：React前端 + Node.js后端 + PostgreSQL数据库，使用Docker部署。

### 完整工作流演示

```mermaid
graph TB
    subgraph "阶段1：项目初始化（CLI终端）"
        A1["claude init<br/>生成CLAUDE.md"]
        A2["配置settings.json<br/>权限+MCP"]
        A3["创建.gitignore<br/>.claude/目录"]
    end

    subgraph "阶段2：后端开发（JetBrains IntelliJ）"
        B1["IntelliJ打开项目<br/>安装Claude Code插件"]
        B2["选中User模型<br/>Claude生成CRUD API"]
        B3["Diff Viewer审核<br/>应用修改"]
    end

    subgraph "阶段3：前端开发（VS Code扩展）"
        C1["VS Code打开frontend/<br/>Claude Code扩展"]
        C2["@file:api.ts 引用API定义<br/>生成React组件"]
        C3["内联Diff审核<br/>逐块Accept/Reject"]
    end

    subgraph "阶段4：集成测试与部署（CLI终端）"
        D1["claude -p '运行测试并修复失败项'"]
        D2["claude -p '更新Docker配置'"]
        D3["claude -p '生成PR描述'"]
    end

    A1 --> A2 --> A3 --> B1
    B1 --> B2 --> B3 --> C1
    C1 --> C2 --> C3 --> D1
    D1 --> D2 --> D3

    style A1 fill:#ffcdd2
    style B1 fill:#c8e6c9
    style C1 fill:#bbdefb
    style D1 fill:#fff9c4
```

**Step 1：项目初始化（CLI终端）**

```bash
# 创建项目并初始化
mkdir fullstack-app && cd fullstack-app
claude

> 分析这个项目的需求，帮我初始化项目结构
> 生成CLAUDE.md项目配置文件
> 配置Docker开发环境

# 退出Claude Code，配置项目设置
cat > .claude/settings.json << 'EOF'
{
  "permissions": {
    "allow": [
      "Bash(docker compose*)",
      "Bash(npm test*)",
      "Bash(npm run build*)"
    ]
  }
}
EOF
```

**Step 2：后端API开发（IntelliJ IDEA）**

```
1. 用IntelliJ打开项目
2. 安装Claude Code插件
3. 在编辑器中打开 src/models/User.java
4. 选中User类定义
5. 在Claude面板中输入：
   "为这个User模型生成完整的CRUD REST API，
    包含输入验证、错误处理、分页支持"
6. 在Diff Viewer中审核生成的Controller和Service
7. 逐文件Apply修改
```

**Step 3：前端组件开发（VS Code）**

```
1. 用VS Code打开frontend/目录
2. 在Claude扩展面板中输入：
   "@file:../backend/src/main/java/com/example/UserController.java
    根据这个API生成React用户管理页面，
    包含列表、搜索、分页、新增、编辑、删除功能"
3. 在内联Diff视图中审核生成的组件代码
4. Accept符合预期的修改，Reject需要调整的部分
```

**Step 4：集成测试与部署（CLI终端）**

```bash
# 回到终端执行自动化任务
claude

> 运行所有测试，修复失败的测试用例
> 检查前后端的类型定义是否一致
> 更新docker-compose.yml添加新服务的配置
> 生成PR描述，总结所有改动

# 非交互式运行CI检查
claude -p "运行lint和测试，报告结果" 2>&1 | tee ci-report.txt
```

---

## 第九章：性能优化与故障排查

### 9.1 多平台性能优化清单

| 优化项 | 具体操作 | 适用平台 |
|--------|----------|----------|
| 压缩上下文 | 定期使用 `/compact` | 全部 |
| 排除大目录 | `.claudeignore` 添加 `node_modules/`, `.git/` | 全部 |
| 限制文件读取 | CLAUDE.md中指定关注范围 | 全部 |
| 减少权限弹窗 | 配置 `settings.json` allowlist | 全部 |
| MCP按需加载 | 只启用当前任务需要的MCP服务器 | 全部 |
| 关闭预览 | VS Code关闭自动Diff预览 | VS Code |
| 排除索引目录 | JetBrains排除生成目录 | JetBrains |
| 终端性能 | 使用GPU加速终端（Ghostty/Kitty） | CLI/Neovim |

### 9.2 跨平台故障排查流程

```mermaid
flowchart TD
    A[问题发生] --> B{哪个平台？}
    B -->|VS Code| C1[检查扩展版本]
    B -->|JetBrains| C2[检查插件版本]
    B -->|Neovim/Emacs| C3[检查MCP连接]
    B -->|CLI| C4[检查Claude版本]

    C1 --> D{问题类型？}
    C2 --> D
    C3 --> D
    C4 --> D

    D -->|认证失败| E["运行 claude 重新认证<br/>检查API Key"]
    D -->|权限错误| F["检查 settings.json<br/>运行 /permissions"]
    D -->|MCP不工作| G["检查MCP服务器状态<br/>claude mcp list"]
    D -->|Diff不显示| H["确认使用扩展面板<br/>而非终端模式"]
    D -->|性能缓慢| I["使用 /compact<br/>检查上下文大小"]

    E --> J[问题解决 ✅]
    F --> J
    G --> J
    H --> J
    I --> J
```

### 9.3 常用诊断命令

```bash
# 检查Claude Code版本
claude --version

# 列出已配置的MCP服务器
claude mcp list

# 检查当前权限配置
claude config list

# 查看会话日志
ls ~/.claude/logs/

# 清除缓存重启
rm -rf ~/.claude/cache && claude
```

---

## 第十章：选择指南——我该用哪个平台？

### 10.1 快速决策树

```mermaid
graph TD
    A[你要做什么？] --> B{需要可视化Diff？}
    B -->|是| C{用什么编辑器？}
    B -->|否| D{需要自动化/脚本？}

    C -->|VS Code| E["✅ VS Code扩展<br/>内联Diff最佳体验"]
    C -->|JetBrains| F["✅ JetBrains插件<br/>原生Diff Viewer"]
    C -->|Neovim/Emacs| G["⚠️ 用终端+/ide连接<br/>无原生Diff"]

    D -->|是| H["✅ CLI终端 -p模式<br/>脚本化/管道化"]
    D -->|否| I{任务规模？}

    I -->|单文件修改| J["✅ IDE扩展<br/>快速Accept/Reject"]
    I -->|多文件重构| K["✅ CLI终端<br/>Agent自动遍历"]
    I -->|探索/问答| L["✅ 任意平台<br/>看个人习惯"]
```

### 10.2 团队推荐配置

| 团队类型 | 推荐主平台 | 辅助平台 | 理由 |
|----------|-----------|----------|------|
| 前端团队 | VS Code扩展 | CLI终端 | React/Vue开发体验最佳 |
| Java后端团队 | JetBrains插件 | CLI终端 | IntelliJ生态深度集成 |
| Go/Rust团队 | Neovim/CLI | VS Code | 终端原生+快速启动 |
| Python数据团队 | VS Code扩展 | CLI终端 | Notebook集成+脚本化 |
| DevOps团队 | CLI终端 | 任意IDE | 自动化/CI/CD需求 |
| 全栈团队 | VS Code + CLI | JetBrains | 覆盖前后端场景 |

---

## 延伸阅读

1. **Claude Code官方文档 - Platforms & Integrations**: [code.claude.com/docs/en/platforms](https://code.claude.com/docs/en/platforms) — 全平台官方参考
2. **Claude Code Best Practices**: [code.claude.com/docs/en/best-practices](https://code.claude.com/docs/en/best-practices) — 官方最佳实践指南
3. **Claude Code VS Code文档**: [code.claude.com/docs/en/vs-code](https://code.claude.com/docs/en/vs-code) — VS Code扩展完整文档
4. **Claude Code JetBrains文档**: [code.claude.com/docs/en/jetbrains](https://code.claude.com/docs/en/jetbrains) — JetBrains插件完整文档
5. **Claude Code自定义键绑定**: [code.claude.com/docs/en/keybindings](https://code.claude.com/docs/en/keybindings) — 键绑定配置参考

## 参考来源

1. [Platforms and integrations - Claude Code Docs](https://code.claude.com/docs/en/platforms) — Anthropic官方平台与集成总览文档
2. [Use Claude Code in VS Code - Claude Code Docs](https://code.claude.com/docs/en/vs-code) — VS Code扩展安装配置与功能官方文档
3. [JetBrains IDEs - Claude Code Docs](https://code.claude.com/docs/en/jetbrains) — JetBrains插件支持的IDE列表与功能说明
4. [Claude Code in VS Code: Extension Panel, Integrated Terminal, or External Terminal?](https://codingcocoon.com/posts/claude-code-vscode-extension-vs-terminal-cli/) — VS Code三种运行模式的详细对比分析
5. [Multisession Agentic Workflow with Claude Code in Neovim](https://alex.draft42.io/blog/multisession-agentic-workflow-with-claude-code-in-neovim-lsdoiuzd0) — Neovim多会话Agent工作流实战
6. [Customize keyboard shortcuts - Claude Code Docs](https://code.claude.com/docs/en/keybindings) — 自定义键绑定官方文档
7. [IDE + CLI Coordination | Developer Toolkit](https://developertoolkit.ai/en/claude-code/productivity-patterns/ide-coordination/) — IDE与CLI协调工作的实践指南

## 训练营适用性评估

| 训练营类型 | 适用性 | 建议教学时长 | 说明 |
|-----------|--------|-------------|------|
| Claude Code入门训练营 | ⭐⭐⭐⭐⭐ | 4小时 | 从VS Code扩展切入，降低入门门槛 |
| 全栈开发者训练营 | ⭐⭐⭐⭐⭐ | 6小时 | 覆盖VS Code + JetBrains + CLI混合工作流 |
| 团队Onboarding | ⭐⭐⭐⭐ | 3小时 | 针对团队技术栈选择主平台快速上手 |
| Vim/终端流训练营 | ⭐⭐⭐⭐ | 4小时 | Neovim/Emacs深度集成方案 |
| AI辅助开发高级训练营 | ⭐⭐⭐⭐⭐ | 8小时 | 全平台覆盖 + 混合工作流 + 自定义配置 |

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
