
装上 VS Code 扩展或 JetBrains 插件只是开始。本篇完整拆解 `--ide` 标志的自动接线逻辑、内置 IDE MCP 服务器如何把 lint/编译报错实时流入 Claude 上下文(`mcp__ide__getDiagnostics`)、Jupyter 代码执行的安全确认机制、JetBrains WSL2 接线的两种方案,以及 `--add-dir` 多目录权限与「文件访问 ≠ 配置加载」的关键限制,附五条可落地的实践建议。
--ide 标志、内置 MCP 服务器、诊断信息流与多目录权限,把 Claude 变成真正感知 IDE 状态的 AI 协作者--ide 标志的工作原理、内置 IDE MCP 服务器的安全设计,以及 --add-dir 多目录权限体系。Option+K(Mac)或 Alt+K(Windows/Linux),提示框自动插入 @auth.ts#5-10 这样的精确引用。Claude 会自动感知你当前选中的文本;点击提示框底部的眼睛图标可切换是否让 Claude 看见选区——有时候你打开了含密钥的 .env 文件,关掉这个防止泄漏。127.0.0.1 的随机高端口起一个本地 MCP 服务器(服务名:ide)。CLI 启动时自动连接,每次你发送 prompt,Claude 就能读到:| 工具名(Hooks 里看到的名字) | 作用 | 写操作? |
|---|---|---|
mcp__ide__getDiagnostics | 读取 VS Code Problems 面板的 lint/语法/编译报错,可指定单个文件 | 否 |
mcp__ide__executeCode | 在 Jupyter Notebook 激活的 kernel 里执行 Python 代码,每次都需确认 | 是 |
mcp__ide__getDiagnostics 拿到这份报错列表——不需要你复制粘贴错误信息,也不需要 Claude 猜。这才是「实时感知 IDE 状态」的核心。~/.claude/ide/ 目录下的锁文件(0600 权限,目录为 0700),只有运行 VS Code 的用户能读。IDE MCP 服务器不对外网开放,不会在 /mcp 里出现(因为没有用户侧配置)。如果你的组织有 PreToolUse Hook 做工具白名单,需要把 mcp__ide__getDiagnostics 手动加进去。
/config 里把 diff tool 设为 auto 启用)Cmd+Option+K / Alt+Ctrl+K 插入文件引用)claude
/ide/ide 命令,Claude Code 会主动连接当前检测到的 JetBrains IDE,激活选区共享和诊断流。.wslconfig 设置 networkingMode=mirrored(需 Windows 11 22H2+)。
/ide 命令可手动连接 IDE,激活选区共享和诊断流 2--ide 标志:自动接线的快捷方式--ide 标志作用很直接:3claude --ide/ide。适合把 Claude Code 写进启动脚本或 shell 别名的场景——每次开一个新的 Claude 会话,不需要手动输 /ide。--ide 不会自动选择,Claude 会列出可用 IDE 让你选。--ide 场景很少用到——扩展自己会在 CLI 启动时处理连接。这个标志主要给 JetBrains 用户或在外部终端里直接跑 claude 的用户提供便利。--add-dir 与 additionalDirectoriesclaude 的地方是 apps/web/,但 Claude 无法直接读 packages/ui/ 的组件源码——这时候就需要 --add-dir。# 单次会话扩展访问:启动时指定
claude --add-dir ../packages/ui ../lib/shared
# 会话中途扩展:输入命令
/add-dir ../packages/ui
# 持久化:写入 settings.json
# ~/.claude/settings.json 或项目 .claude/settings.json
{
"permissions": {
"additionalDirectories": ["../packages/ui", "../lib/shared"]
}
}--add-dir 添加额外目录时,只授予文件读写访问,不会加载该目录的大多数 .claude/ 配置。| 配置项 | 能从 --add-dir 目录加载? |
|---|---|
.claude/skills/ 里的 Skills | ✅ 支持,且热重载 |
.claude/settings.json 里的 enabledPlugins / extraKnownMarketplaces | ✅ 部分支持 |
CLAUDE.md / .claude/rules/ / CLAUDE.local.md | ❌ 需要环境变量 CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 才加载 |
Hooks 和其他 settings.json 配置 | ❌ 只从主工作目录的 .claude/ 和 ~/.claude/settings.json 加载 |
| 子代理、命令、输出样式 | ❌ 只从主工作目录及其父目录、~/.claude/ 加载 |
.claude/settings.json 配置了不同的 Hooks,--add-dir 加进来的子包 Hooks 不会生效。需要整合的 Hooks 必须放在主工作目录的 .claude/ 或用户级 ~/.claude/settings.json 里。permissions.additionalDirectories(settings 文件持久化)添加的目录比 --add-dir 更严格:只授予文件访问,连上述有限的 Skills 加载也不做。
--add-dir 授予文件访问权限,但 Hooks/子代理等配置仍只从主工作目录加载——monorepo 场景需要把核心配置集中放在启动目录 4.env 和敏感文件的选区共享
VS Code 里打开 .env 时,点提示框底部的眼睛图标关闭选区传递;或者在权限设置里给 .env 加 Read deny 规则——这同时阻断选区共享和主动读取。mcp__ide__getDiagnostics 触发报错分析
你不需要手动复制错误信息。直接在 Claude 提示框里说「帮我修这个文件的类型错误」,Claude 会自动调用 getDiagnostics 拿到 VS Code Problems 面板的完整报错列表,比粘贴截图精确得多。--add-dir + 主目录集中 Hooks
claude --add-dir ../packages/ui ../packages/api 授予文件访问,所有 Hooks 和权限规则统一放在主工作目录的 .claude/settings.json,不要依赖子目录的配置会被自动加载。--ide 写进 shell alias 让自动接线成默认行为alias claude-dev='claude --ide --append-system-prompt "项目约定:..."'/ide。docs.anthropic.com
docs.anthropic.com
docs.anthropic.com
docs.anthropic.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.