IDE 集成的正确方式
Claude Code 在终端、代码编辑器扩展、桌面应用、Web 界面和移动端运行的都是同一个引擎。区别只在于表面——你与之交互的界面以及它所支持的工作流模式。
同一引擎,每个界面
Claude Code 的架构将引擎与界面分离。引擎处理智能体循环、上下文管理、工具执行、权限以及前面章节中描述的所有机制。界面——终端、编辑器扩展、桌面应用——是一个呈现层。
这很重要,因为它意味着切换界面不意味着切换工具。你的 CLAUDE.md 文件无论在哪个界面都会加载。你的权限设置在所有地方都适用。你的 MCP 服务器连接到每一个支持它们的界面。你在终端中开发的工作流只需少量调整就能在编辑器扩展中运行。
目前可用的界面:终端(最初的也是最强大的)、流行代码编辑器的扩展和主要 IDE 家族的插件、桌面应用、Web 界面和移动应用。每个界面针对不同的交互模式进行了优化,但没有一个改变 Claude Code 的根本功能。
终端界面
终端是 Claude Code 起步的地方,也是它保持最强大的地方。本书描述的每个功能都能在终端中工作。没有例外。
终端界面为你提供带有所有标志的完整 CLI、对管道和 Unix 可组合性的直接访问(第六章)、prompt 的模态编辑、后台 bash 命令执行,以及在独立终端窗格或窗口中运行多个实例的能力。它是你唯一能够完全控制会话管理、输出格式和自动化集成的界面。
终端优先的工作流在有经验的用户中占据主导地位,有一个实际的原因:终端不会碍事。没有 GUI 来中介你的交互。你输入 prompt,Claude 运行,你看到结果。反馈循环很紧密。当你需要检查 Claude 修改的文件时,你在编辑器中打开它。当你需要运行测试时,你在另一个终端窗格中运行它。终端并不试图成为一个 IDE。它是一个与你喜欢的任何 IDE 并肩工作的命令界面。
这种终端优先的方法有一个未被充分认识的好处:它是 IDE 无关的。编辑器偏好不同的团队——一些使用某种代码编辑器,另一些使用某个 IDE 家族,还有的只用一个极简文本编辑器——可以在 Claude Code 工作流上实现标准化,而不必在编辑器上标准化。CLAUDE.md 文件、智能体定义、MCP 配置、hook 系统——所有这些在旁边窗口打开的无论是什么编辑器的情况下都完全相同地工作。
代码编辑器扩展
流行代码编辑器的扩展在 Claude Code 引擎之上添加了一个可视化层。关键功能包括内联 diff 查看、@-mention 文件引用、计划审查界面和对话历史。
内联 diff 是标题级功能。当 Claude 提议对文件进行更改时,你会在编辑器中看到带有语法高亮、接受/拒绝控件以及部分接受更改能力的 diff 渲染。这在审查 diff 方面比在终端中显著更快,特别是对于跨多个文件的大型更改。
@-mention 让你直接在 prompt 中引用文件、符号和选区。点击一个函数名,输入 @,文件路径就会被插入到上下文中。这是一个便利功能——你可以通过在终端中输入路径来达到同样的效果——但它减少了足够的摩擦以改变行为。使用 @-mention 的开发者更频繁地引用特定上下文,这导致了范围更好的 prompt。
计划审查 在执行之前以结构化的可视化格式呈现 Claude 的预期方法。在终端中,计划是对话中的文本块。在编辑器中,它们是交互式检查清单,你可以逐项批准、修改或拒绝。这对于有许多步骤的大型重构特别有用,你希望对哪些步骤继续进行拥有细粒度控制。
该扩展在你处理单个代码库并希望 Claude 的输出和你的编辑工作流之间紧密集成时最强。当你需要只存在于终端中的功能——特定的 CLI 标志、管道工作流或并行实例管理时,它最弱。
桌面应用
桌面应用是一个独立界面,在你的 IDE 和终端之外运行 Claude Code。它提供可视化 diff 审查、具有自动 Git worktree 隔离的并行会话、多种权限模式、文件附件、外部服务连接器,以及对本地和远程执行环境的支持。
该应用围绕三个标签页组织工作。Code 标签页是主要工作区——它通过图形界面镜像了终端的智能体能力。你选择一个项目文件夹,选择一个权限模式,选择一个模型,然后开始输入 prompt。Cowork 标签页实现自主后台工作——Claude 持续自主运行,同时你监控进度并在需要时进行引导。Chat 标签页提供标准对话界面,用于不需要文件系统访问的问题。
权限模式
桌面应用通过模式选择器展示权限控制,该选择器影响 Claude 在会话期间拥有多少自主权:
- Ask 模式 要求你在每次文件编辑和命令之前批准。你看到一个 diff 视图并接受或拒绝每个更改。这是默认模式,也是在你信任 Claude 在你的代码库中的判断力之前的正确选择。
- Code 模式 自动接受文件编辑,但在运行终端命令之前仍会询问。当你信任文件更改时,迭代速度更快。
- Plan 模式 将 Claude 限制为只读操作和计划创建。没有文件修改,没有命令。纯粹的分析和规划。
- Act 模式 等同于终端中的 --dangerously-skip-permissions。Claude 在没有任何提示的情况下运行。仅在沙盒环境中使用此模式。
你可以在会话中途切换模式。从 Plan 模式开始规划方法,切换到 Code 模式执行,然后降到 Ask 模式进行最终验证步骤。
可视化 Diff 审查
当 Claude 修改文件时,会出现一个 diff 统计指示器,显示添加和删除的行数。点击它会打开一个完整的 diff 查看器,左侧是文件列表,右侧是更改内容。你可以通过点击特定行来对其进行评论——输入你的反馈,按 Enter,在对多个位置评论后,一次性提交所有评论。Claude 阅读评论并进行请求的更改,这些更改显示为新的 diff。这是通过对话审查,而不是通过阅读审查。你指出问题,Claude 修复它们。
具有 Git 隔离的并行会话
桌面应用中的每个会话通过 Git worktree 获得你自己项目的隔离副本。点击侧边栏中的 "New session" 启动第二个(或第三个、第十个)并行任务。一个会话中的更改不会影响其他会话,直到你提交它们。Worktree 默认存储在你项目的 .claude/worktrees/ 目录中。你可以在设置中配置自定义位置和分支前缀,以保持 Claude 创建的分支有条理。
这将桌面应用变成了一个并行处理界面。一个会话正在重构认证模块。另一个正在为支付流程编写测试。第三个正在调查一个 bug。每个会话在其自己的 Git 分支中运行,完全与其他会话隔离。当每个会话的工作完成时,你独立地审查和合并分支。
SSH 和远程会话
桌面应用通过 SSH 连接到远程机器。不用选择 "Local" 作为你的环境,而是选择一个 SSH 连接。Claude Code 在远程机器上运行,在那里执行命令和修改文件。这对于需要你的本地机器不提供的特定硬件、操作系统或开发环境的代码库很有用。
对于长时间运行的任务,改为选择 Remote 环境。远程会话在 Anthropic 管理的云基础设施上运行,即使你关闭应用或关机也会继续运行。你可以从桌面应用、Web 界面或移动应用监控远程会话。更多关于远程会话的信息在下一节。
连接器
桌面应用支持集成外部服务的连接器——版本控制平台、团队消息工具和项目管理系统。这些连接器通过应用的设置进行配置,使 Claude Code 了解你项目的外部上下文:PR、问题、消息、任务。连接器生态系统仍在增长,但模式很清晰:Claude Code 成为连接你的代码和团队沟通协调工具的枢纽。
Web 上的 Claude Code
Claude Code 在浏览器中作为完全云端托管的环境运行。不需要本地设置。你连接你的版本控制账户,选择一个仓库,然后开始工作。仓库被克隆到 Anthropic 管理的虚拟机上,环境被配置好,Claude 以对代码库的完全访问权限执行。
Web 界面提供与桌面应用相同的 diff 视图——你可以确切地看到 Claude 更改了什么,对特定行评论,并迭代直到更改就绪。满意后,你可以直接从界面创建 pull request。更改被推送到远程分支,准备好审查。
网络访问配置
云会话支持三个网络访问级别:limited(仅默认允许的域名——包注册表、API 端点和类似基础设施)、full(不受限制的互联网访问)和 none(完全离线)。网络配置通过一个安全代理控制,该代理中介所有出站连接。一个单独的代理处理版本控制平台访问,确保仓库操作无论你的网络设置如何都能工作。
会话共享
云会话可以以三种可见性级别共享:Private(仅你)、Team(你的组织成员)和 Public(任何有链接的人)。共享会话让其他人观察 Claude 的工作进展,审查对话历史,并查看结果更改。这对于代码审查、跨时区结对编程以及向团队成员演示工作流很有用。
何时使用云会话
云会话在三种场景下大放异彩。第一,长时间运行的任务——启动一个大型重构,关闭浏览器,一小时后回来查看。第二,你本地没有的仓库——无需克隆任何东西就能审查同事的项目。第三,并行执行——在不同的任务上启动多个云会话,从单个浏览器标签页监控它们。
限制是云会话目前只与托管在主流代码平台上的仓库一起工作。其他托管平台尚不支持云执行。
移动端上的 Claude Code
移动应用为云会话提供监控和调度界面。从手机上启动任务,监控其进度,用后续 prompt 引导 Claude,并在结果就绪时审查。你不会在手机键盘上编写复杂的 prompt,但你可以在通勤时检查长时间运行的任务,回答 Claude 的澄清问题,或从沙发上批准 PR。
移动应用连接到与 Web 界面相同的会话基础设施。从桌面或终端启动的会话可以从移动应用监控,反之亦然。
Chrome 扩展
一个浏览器扩展将 Claude Code 连接到运行中的 Web 应用。它弥合了代码库和运行中应用之间的差距——Claude 可以读取 DOM、观察网络请求并检查它正在处理的代码的渲染输出。这对前端调试最有价值,因为症状(浏览器中的视觉 bug)和原因(代码中的 CSS 或 JavaScript 问题)存在于不同的上下文中。该扩展将它们带到一起。
IDE 家族插件
主要 IDE 家族的插件提供交互式 diff 查看和上下文共享。该实现与代码编辑器扩展有所不同,反映了 IDE 的架构——diff 与 IDE 的原生 diff 查看器集成,上下文引用使用 IDE 的符号索引,交互模型遵循 IDE 的约定。
两个编辑器集成之间的实际差异比架构差异所暗示的要小。两者都提供内联 diff 审查。两者都支持上下文引用。两者都连接到具有相同功能的同一 Claude Code 引擎。它们之间的选择几乎总是由你已经在使用哪个 IDE 驱动的,而不是 Claude Code 集成中的功能差异。
跨界面工作流
界面不是孤立的。会话可以在它们之间移动。这是 Claude Code 最独特的架构决策之一——该类别中没有其他工具支持跨界面的流畅会话迁移。
/teleport 命令
/teleport 命令(也叫 /tp)将云会话拉入你的终端。在 Web 或手机上启动一个长时间运行的任务,让它在你离开时运行,然后在你准备审查和继续时将其拉回到本地机器。
/teleport
这会打开一个交互式选择器,显示你的云会话。选择一个,Claude Code 验证你在正确的仓库中,从远程会话获取并检出分支,并将完整的对话历史加载到你的终端中。如果你有未提交的本地更改,它会提示你先 stash 它们。
--teleport 标志在命令行中以相同方式工作:
claude --teleport
claude --teleport <session-id>
& 前缀:将工作发送到云端
反向——从终端到云端——使用 & 前缀。在交互式会话中以 & 开头开始一条消息:
& Fix the authentication bug in src/auth/login.ts
这将使用你当前的对话上下文创建一个新的云会话。任务在 Anthropic 的基础设施上运行,而你继续在本地工作。使用 /tasks 监控所有后台会话——它显示状态,按 t 将你传送到任何会话。
浮现出的模式是在本地规划、远程执行。在 plan 模式下启动 Claude 以协作确定方法,然后将计划发送到云端进行自主执行:
& Execute the migration plan we discussed
/desktop 命令
/desktop 命令将终端会话移交给桌面应用。完整的对话上下文移动到 GUI,在那里你可以获得可视化 diff 审查、内联评论以及部分接受更改的能力。当任务从探索转向审查时,这是正确的选择。
工作流模式
浮现出的跨界面工作流是:在终端中探索和规划,在终端或编辑器中实现,在桌面应用或编辑器扩展中审查 diff。终端是大本营。可视化界面是你当审查增加价值时调用的专业工具。
这不是大多数 IDE 集成的工作方式。大多数工具嵌入到 IDE 中并且从不离开。Claude Code 颠覆了这种关系。终端是主要界面,IDE 是你在需要时拉起的补充视图。理解这种颠覆可以防止试图通过编辑器扩展强制实现终端级功能时的挫败感。
终端脚部栏中的 PR 审查状态
当在一个有开放 pull request 的分支上工作时,Claude Code 在终端脚部栏中显示一个可点击的 PR 链接(例如,"PR #446")。该链接有一个彩色下划线,指示审查状态:
- 绿色:已批准
- 黄色:待审查
- 红色:请求更改
- 灰色:草稿
- 紫色:已合并
状态每 60 秒自动更新。Cmd+点击(Mac)或 Ctrl+点击(Windows/Linux)在浏览器中打开 PR。这个小功能消除了一个持续的上下文切换——无需离开终端就能检查 PR 状态。它需要安装并认证版本控制平台的 CLI。
消除上下文切换
实践者持续报告的一个模式:终端中的 Claude Code 消除了云 AI 聊天界面和代码库之间的上下文切换。没有 Claude Code 时,工作流是:复制代码片段,粘贴到聊天界面,解释问题,阅读回复,复制建议的修复,粘贴回编辑器,测试,重复。每次往返都跨越应用边界并丢失上下文。
有了 Claude Code,整个对话发生在项目内部。Claude 直接读取文件。它直接写入更改。它直接运行测试。上下文就是代码库,而不是代码库的描述。差异不是边际的——它消除了在两个环境之间翻译的心理开销和复制粘贴的机械开销。
LSP 插件
插件系统包括提供代码智能功能的 Language Server Protocol 服务器:诊断、跳转到定义、代码导航和符号解析。这些与 Claude Code 的智能体能力不同——它们是作为插件实现的传统 LSP 功能。
LSP 插件比核心 Claude Code 功能更新,经过的实战检验也较少。它们的价值在于为你的 IDE 不原生良好支持的语言或框架提供代码智能。如果你的 IDE 已经对你的技术栈有出色的语言支持,LSP 插件可能添加不多。如果你在使用一种不太常见的语言或自定义框架,它们可以填补空白。
插件在配置后自动启动,并作为标准 IDE 功能出现。它们补充而不是替换你的 IDE 的原生语言服务。
自动补全的缺口
Claude Code 没有流式内联自动补全。那种你输入几个字符,编辑器中就会出现建议补全的灰色幽灵、随着每次按键更新的体验——那不是 Claude Code 做的事情。
这不是一个疏忽。这是一个架构上的结果。Claude Code 的优势在于跨文件和工具的智能体多步操作。内联自动补全是一种根本不同的交互模式:低延迟、单行、逐字符预测。在同一个工具中同时做好两者需要不同的模型配置、不同的基础设施和不同的用户体验。
这个缺口很重要,因为内联自动补全确实有用。对于编写样板代码、填充函数签名、补全变量名,以及无数不值得完整 prompt-and-execute 循环的小编辑任务,一个好的自动补全工具节省了真正的时间。
推荐的方法是混合设置。使用 Claude Code 处理它擅长的智能体、多步、多文件工作。使用一个专门从事内联自动补全的单独工具处理逐字符的编辑工作。这两个工具不冲突。它们在不同交互尺度上运作——一个处理森林,另一个处理单独的树叶。
这种混合策略不是一种变通方案。它是成熟的方法。没有单一工具在每一个交互尺度上都占主导地位,假装 otherwise 会导致对一个更简单的工具更适用的任务使用强大的工具却效果很差。
何时使用 IDE,何时切换到终端
这个决定比看起来更简单。
在以下情况使用 IDE 扩展:
- 你需要可视化审查多文件 diff
- 你正在使用 @-mention 引用特定代码位置
- 你想在文件内部分接受或拒绝更改
- 你正在进行计划审查并想要交互式检查清单
- 你正在与一个更习惯 IDE 的队友协作
在以下情况切换到终端:
- 你需要 IDE 扩展中未暴露的 CLI 标志
- 你正在运行多个并行会话
- 你正在将输入或输出管道到其他工具
- 你需要自动化或脚本集成
- 你想要最快的反馈循环
- 你正在做探索性工作,对话流程比 diff 审查更重要
大多数会话从终端开始。一些移动到 IDE 进行审查。很少有从 IDE 开始并留在那里的。这不是对 IDE 质量的判断——它反映了智能体编码主要是一种对话,而对话在终端中最自然流畅。
设计工具模式
一个值得注意的模式:团队报告说视觉设计工具和 Claude Code 大约 80% 的时间是同时打开的。设计工具提供视觉参考——模型、布局、组件设计。Claude Code 实现设计所展示的内容。
这不是传统意义上的 IDE 集成。它是一个两个工具互补而不需要连接的工作流。人是集成层,看着设计并告诉 Claude Code 需要构建什么。
这个模式有效是因为 Claude Code 接受图像作为输入。你可以将设计模型的截图粘贴到对话中,Claude 可以解释布局、颜色、间距和组件结构。这比用文字描述设计更快,尽管它不能替代明确的实现需求。
从设计到代码的工作流遵循第一章中描述的相同四阶段模式:探索现有代码库组件、规划实现方法、实现设计并提交。设计工具在探索阶段添加了一个视觉参考,使后续阶段更有根据。
Skill 作为跨智能体标准
Skill 不是 Claude Code 独有的。它们是多个 AI 编码智能体支持的共享标准。你为 Claude Code 编写的 skill 可以与支持该标准的其他智能体一起使用——而且这个列表还在增长。这意味着你在 skill 开发上的投入不会锁定在单一工具上。
安装工作流使用一个跨智能体工作的包运行器命令:
npx skills add <repository-url> --skill <skill-name>
运行此命令会克隆仓库,发现可用的 skill(一个典型的仓库可能包含十几个或更多 skill),检测兼容的智能体,询问安装到哪个范围(项目或用户),并创建 skill 目录结构。以这种方式安装的 skill 可以被符号链接或复制,它们无需重启 Claude Code 就能立即工作。
跨智能体兼容性有一个实际后果:使用多个 AI 编码工具的团队可以通过 skill 标准化他们的工作流,而不是构建特定工具的配置。代码审查 skill、部署工作流或文档生成器,无论哪个智能体运行它都能工作。这降低了尝试不同工具的成本并防止了工作流锁定。
混合工具链
没有单一的 AI 编码工具在每个交互尺度上都占主导地位。成熟的方法是一个混合设置,每个工具处理它最擅长的事情。
使用 Claude Code 处理它擅长的智能体、多步、多文件工作:仓库级重构、复杂实现、代码库探索、架构规划和自动化工作流。叠加一个专用的内联补全工具用于逐字符的编辑工作——函数签名、变量名、样板代码,以及无数不值得完整 prompt-and-execute 循环的小编辑任务。
这不是缺失功能的变通方案。它是对智能体编码和内联补全是根本不同的交互模式、需要不同的模型配置、不同的基础设施和不同的用户体验的承认。在同一个工具中出色地构建两者需要不同的优化目标,这些目标不可避免地相互权衡。
对不久将来的预测是 Claude Code 的内联 IDE 体验将变得更加积极——每文件编辑模式、区域范围的重写、更紧密的编辑器集成。但即使界面趋同,底层架构将继续针对不同的交互尺度进行优化。混合方法不是暂时的妥协。它是稳定的最终状态。
终端优先作为设计哲学
终端优先的模式不仅仅是一种偏好。它是一种塑造 Claude Code 如何演进的设计哲学。
因为终端是通用界面——每个操作系统都有一个,每个 IDE 都内嵌了一个,每台远程服务器都可以通过一个访问——首先为终端构建功能确保它们在任何地方都能工作。扩展优先的方法会把终端用户甩在后面。终端优先的方法给每个人完整的功能集,扩展在之上提供视觉增强。
这种哲学对你如何投入学习时间有实际影响。学习终端工作流给你的技能可以转移到每个界面。学习扩展工作流给你的技能特定于该扩展。如果你的时间有限,先投资终端,然后添加扩展工作流作为细化。
终端优先的哲学也解释了为什么 Claude Code 不试图替换你的 IDE。它作为互补工具坐在你的 IDE 旁边,处理 IDE 做不好的智能体工作,而将编辑、调试和导航工作留给专门为这些任务构建的工具。这种集成是协作的,不是竞争的。
- Claude Code 的引擎是界面无关的——CLAUDE.md、设置、MCP 服务器和权限在终端、编辑器扩展、桌面、Web 和移动端完全相同地工作。
- 桌面应用提供带有内联评论的可视化 diff 审查、具有 Git worktree 隔离的并行会话、多种权限模式、SSH 连接和外部服务连接器。
- 云会话在托管 VM 上运行,在你关闭浏览器后仍然存在,可以从任何设备监控——使用 & 前缀将工作调度到云端,使用 /teleport 将其拉回。
- 终端脚部栏显示带有彩色下划线的实时 PR 审查状态(绿色=已批准,黄色=待审查,红色=请求更改)——每 60 秒更新。
- Skill 是跨智能体标准:npx skills add 安装跨多个 AI 编码工具工作的 skill,防止工作流锁定。
- 内联自动补全的缺口是架构性的,不是偶然的;Claude Code 用于智能体工作和专用自动补全工具用于编辑的混合设置是稳定的最终状态。
- 终端优先的工作流在有经验的用户中占主导地位,因为终端更快、更灵活,而且是 IDE 无关的。
- 先将学习时间投资在终端工作流上——它们可以转移到每个界面和每个 IDE。