跳转到主要内容
VS Code 编辑器,右侧打开 Claude Code 扩展面板,显示与 Claude 的对话 VS Code 扩展为 Claude Code 提供了原生图形界面,直接集成到您的 IDE 中。这是在 VS Code 中使用 Claude Code 的推荐方式。 使用该扩展,您可以:
  • 在接受 Claude 的计划之前审查和编辑它们
  • 在进行编辑时自动接受
  • 根据您的选择 @-提及具有特定行范围的文件
  • 访问对话历史记录
  • 在单独的选项卡或窗口中打开多个对话

前置条件

安装前,请确保您拥有:
  • VS Code 1.94.0 或更高版本
  • Anthropic 账户:任何付费 Claude 订阅(Pro、Max、Ultra、Team 或 Enterprise)或 Claude Console 账户都可以使用,无需 API 密钥。首次打开扩展时,您将使用此账户登录。如果您通过第三方提供商(如 Amazon Bedrock 或 Google Cloud 的 Agent Platform)访问 Claude,请参阅使用第三方提供商了解设置说明。
该扩展包含其自己的 CLI(命令行界面)副本用于聊天面板。要在 VS Code 的集成终端中运行 claude,您还需要独立 CLI 安装。有关详细信息,请参阅 VS Code 扩展与 Claude Code CLI。

安装扩展

点击与您的 IDE 对应的链接直接安装: 或者在 VS Code 中,按 Cmd+Shift+X(Mac)或 Ctrl+Shift+X(Windows/Linux)打开扩展视图,搜索”Claude Code”,然后点击 Install。
扩展市场属于第三方软件,Anthropic 不为其背书、维护或审计。Anthropic 会将扩展提交至 Visual Studio Marketplace 和 Open VSX Registry 进行发布。
扩展的版本号即其捆绑的 Claude Code 版本。例如,需要 Claude Code v2.1.286 或更高版本的功能,需要 2.1.286 或更高版本的扩展,版本号可在扩展视图中查看。 Claude Code 还可以在其他编辑器和容器中运行:
  • 其他 VS Code 分支版本:该扩展也可以安装在 Devin Desktop 或 Kiro 等分支版本中。在编辑器的扩展视图中搜索”Claude Code”,或从 Open VSX Registry 安装。
  • 无法安装该扩展的编辑器:请安装 CLI,然后在编辑器的集成终端中运行 claude。CLI 可在任何终端中使用。
  • 开发容器:要在开发容器中运行 Claude Code,请参阅开发容器。
如果安装后扩展没有出现,请重启 VS Code,或从命令面板运行”Developer: Reload Window”。

开始使用

安装完成后,您可以通过 VS Code 界面开始使用 Claude Code:
1

打开 Claude Code 面板

在 VS Code 中,Spark 图标代表 Claude Code:Spark 图标打开 Claude 最快的方式是点击编辑器工具栏(编辑器右上角)中的 Spark 图标。该图标仅在打开文件时显示。VS Code 编辑器,编辑器工具栏中显示 Spark 图标打开 Claude Code 的其他方式:
  • 活动栏:点击左侧边栏中的 Spark 图标以打开会话列表。点击任意会话即可在您的首选位置打开它,或者开始一个新会话。该图标始终显示在活动栏中。
  • 命令面板:按 Cmd+Shift+P(Mac)或 Ctrl+Shift+P(Windows/Linux),输入”Claude Code”,然后选择一个选项,例如”Open in New Tab”
  • 状态栏:点击窗口右下角的 ✻ Claude Code。即使没有打开任何文件,此方式也可用。
您可以拖动 Claude 面板,将其放置在 VS Code 中的任意位置。详情请参阅自定义您的工作流。
2

登录

首次打开面板时,会显示登录界面。点击 Sign in,然后在浏览器中完成授权。如果之后看到 Not logged in · Please run /login,扩展会自动重新打开登录界面。如果登录界面没有出现,请在命令面板中通过 Developer: Reload Window 重新加载窗口。如果您已在 shell 中设置了 ANTHROPIC_API_KEY,但仍看到登录提示,则可能是 VS Code 没有继承您的 shell 环境。请在终端中使用 code . 启动 VS Code,使其继承您的环境变量,或者改用您的 Claude 账户登录。登录后,会显示 Learn Claude Code 清单。点击 Show me 逐项完成,或点击 X 将其关闭。如需稍后重新打开,请在 VS Code 设置的 Extensions > Claude Code 下取消勾选 Hide Onboarding。
3

发送提示词

请 Claude 帮助处理您的代码或文件,无论是解释某个功能的工作原理、调试问题,还是进行修改。
Claude 会自动看到您选中的文本。按 Option+K(Mac)/ Alt+K(Windows/Linux)还可以将 @ 提及引用(例如 @file.ts#5-10)插入到提示词中。
以下是询问文件中特定行的示例:VS Code 编辑器中选中了 Python 文件的第 2-3 行,Claude Code 面板显示了关于这些行的问题以及 @ 提及引用
4

审查更改

查看输入框底部显示的权限模式:
  • 在 Auto 或 Edit automatically 模式下,Claude 会直接编辑工作区中的大多数文件,而不会询问。
  • 在 Manual 模式下,当 Claude 想要编辑文件时,会并排显示原始内容与建议的更改,然后请求权限。您可以接受、拒绝,或告诉 Claude 改为执行其他操作。如果您在接受之前直接在 diff 视图中编辑了建议的内容,Claude 会被告知您已修改该内容,因此不会假定文件与其原始建议一致。 VS Code 显示 Claude 建议更改的 diff,以及询问是否进行编辑的权限提示
如需逐个审查建议的编辑,请使用 diff 中每处更改下方的 Accept this change 和 Reject this change 按钮。拒绝某处更改会在建议内容中将其还原;接受则会将其标记为已审查。逐处更改审查需要 Claude Code v2.1.275 或更高版本。接受或拒绝整个文件仍会结束审查。包含超过 100 处更改的 diff 打开时不会显示逐处更改按钮,因此请将其作为整个文件进行审查。同样的操作也可以在光标位置通过编辑器的上下文菜单使用,或在命令面板中通过 Claude Code: Accept Change at Cursor 和 Claude Code: Reject Change at Cursor 使用。
有关 Claude Code 更多用法的灵感,请参阅常见工作流。
在命令面板中运行”Claude Code: Open Walkthrough”,即可获得基础功能的引导式教程。

使用输入框

输入框支持以下几项功能:
  • 权限模式:点击输入框底部的模式指示器即可切换权限模式。在 Claude Code v2.1.283 或更高版本中,Auto 是内置的初始权限模式;在更早的版本中,仅 Pro、Max、Ultra 和 Team 套餐如此。请参阅扩展如何选择初始权限模式,了解哪些因素会改变初始模式,以及指示器提供的所有权限模式。
    • Auto:由分类器审查大多数操作,而不是询问您。请参阅自动模式,了解它会审查和阻止哪些操作。
    • Manual:Claude 在编辑文件和执行大多数 shell 命令之前会请求权限。
    • Plan:Claude 会描述它将要执行的操作,并在进行更改前等待批准。VS Code 会自动将计划作为完整的 Markdown 文档打开,您可以在 Claude 开始之前添加行内评论来提供反馈。 您也可以在输入框中输入 /plan。需要 Claude Code v2.1.280 或更高版本。
      • /plan:切换到计划模式。如果已处于计划模式,则改为显示当前计划。
      • 带任务的 /plan,例如 /plan fix the auth bug:切换到计划模式并开始为该任务制定计划。
      • /plan open:已处于计划模式时,在编辑器中打开计划文件。
    • Edit automatically:Claude 直接进行编辑,不会询问。
  • 模型:从命令菜单中选择 Switch model…,即可在会话中途更换模型。您也可以点击输入框底部的模型名称来打开同一个选择器。在 Claude Code v2.1.284 或更高版本中,在输入框中单独输入 /model 也会打开该选择器。 当前模型支持 effort 级别时,选择器还会显示 Effort 行,模型名称按钮也会显示所选级别。当您选择 max 以外的级别时,Claude Code 会将其保存为当前模型的默认值,存储在用户设置的 modelSettings 下;max 仅适用于当前会话。模型名称按钮和 Effort 行需要 Claude Code v2.1.257 或更高版本。 启用动态工作流且当前模型支持时,Effort 行下方会出现 Ultracode 开关。打开它后,Claude 会以所选 effort 级别,为本会话中的每项实质性任务规划一个工作流。开关打开期间,模型名称按钮会在级别后显示 · Ultracode。该开关需要 Claude Code v2.1.284 或更高版本。
  • 命令菜单:点击 / 或输入 / 即可打开命令菜单。选项包括附加文件和切换模型。 Customize 部分包含 MCP 服务器、命令、输出样式、hook、记忆、指令、权限和插件等条目。带有终端图标的项目会在集成终端中打开。
    • 要浏览 /usage 或 /remote-control 等命令,请在 Customize 部分中选择 Slash commands。对话框会列出这些命令并提供筛选框。选择其中一个即可运行。在输入框中输入 / 仍会以内联方式提示命令。需要 Claude Code v2.1.257 或更高版本。 输入 /skills 也会打开此对话框。每个 skill 行都会显示其可见性,例如 On 或 Name only。点击可见性即可更改,但标记为 locked 的行(例如插件 skill)除外。/skills 快捷方式和可见性控件需要 Claude Code v2.1.280 或更高版本。
    • 在 Customize 部分中选择 Output styles,即可选择输出样式,包括您的自定义样式。需要 Claude Code v2.1.257 或更高版本。 如需创建自定义样式,请从 Output styles 菜单中选择 Build a custom style。Claude Code 会在项目级或用户级为您编写样式文件。需要 Claude Code v2.1.261 或更高版本。
    • 在 Customize 部分中选择 Hooks,即可查看会话中已加载的 hook,按事件分组。您可以添加、编辑或删除保存在用户、项目和本地设置文件中的 hook。来自其他来源(例如托管设置或插件)的 hook 为只读。需要 Claude Code v2.1.269 或更高版本。
    • 在 Customize 部分中选择 Permissions,即可查看会话的权限规则,按 Allow、Ask 和 Deny 分组。您可以向用户、项目或本地设置添加规则,并删除保存在其中的规则。来自其他来源的规则(例如托管设置或仅针对本会话做出的批准)为只读。需要 Claude Code v2.1.269 或更高版本。
    • 在 Customize 部分中选择 Memory,即可打开或关闭自动记忆。打开期间,您还可以浏览 Claude 已保存的记忆,并在文件管理器中显示存储这些记忆的文件夹。需要 Claude Code v2.1.274 或更高版本。 点击已保存的记忆即可在对话框中阅读,您可以在其中编辑文本、删除该记忆,或在编辑器中打开其文件。在对话框中查看、编辑和删除记忆需要 Claude Code v2.1.275 或更高版本。
    • 在 Customize 部分中选择 Instructions,即可编辑 Claude 读取的 CLAUDE.md ��件。选择一个文件即可在编辑器中打开。如果文件尚不存在,Claude Code 会先创建它。需要 Claude Code v2.1.274 或更高版本。
    • 在 Customize 部分中选择 Status,或输入 /status,即可查看会话的 Claude Code 版本、账户、模型和 MCP 服务器详细信息。需要 Claude Code v2.1.280 或更高版本。
    • 在 Customize 部分中选择 Sandbox,或输入 /sandbox,即可查看 Claude 的 Bash 命令是否在沙箱中运行。您可以在此切换沙箱模式并添加排除的命令。需要 Claude Code v2.1.280 或更高版本。
    • 在 Customize 部分中选择 Claude in Chrome,或输入 /chrome,即可检查和管理 Claude in Chrome 连接。两者都需要使用 claude.ai 账户登录。需要 Claude Code v2.1.280 或更高版本。
    • 在 Context 部分中选择 Export conversation,或输入 /export,即可将对话复制为纯文本或保存到文件。添加文件名(例如 /export notes.txt)可跳过对话框并选择文件的保存位置。需要 Claude Code v2.1.280 或更高版本。
    • Settings 部分包含 Enable Remote Control for all sessions,它会设置 remoteControlAtStartup,用于控制新的交互式会话是否自动连接到 Remote Control。需要 Claude Code v2.1.203 或更高版本。 在 VS Code 窗口中打开或关闭此开关时,更改不仅限于之后启动的会话,也会应用于该 VS Code 窗口中已打开的会话。如果将其关闭,已打开的会话会断开连接。在 Claude Code v2.1.261 或更高版本中,更改还会作用于您其他 VS Code 窗口中打开的会话。
    • Settings 部分还包含 Focus view,它会将工具调用、工具结果和思考内容隐藏在可展开的行后面,只保留您的提示词和 Claude 的回复。您可以在此处切换,也可以使用 Ctrl+Option+F(Mac)/ Ctrl+Alt+F(Windows/Linux),或在命令面板中使用 Claude Code: Toggle Focus view。更改会应用于所有已打开的会话,并在会话之间保持。需要 Claude Code v2.1.221 或更高版本。 Claude 最新的待办事项列表保持可见,Claude 待回答问题所涉及的文本也保持可见;这需要 Claude Code v2.1.225 或更高版本。当 Claude 运行子代理时,显示其最新活动的实时进度行会出现在启动它们的工具调用组下方。这需要 Claude Code v2.1.269 或更高版本。
    • 要注销您的 Anthropic 账户,请在 Settings 部分中选择 Sign out,或输入 /logout。使用第三方提供商时,菜单不提供这两种方式。需要 Claude Code v2.1.277 或更高版本。
    • 要报告错误,请点击菜单底部的 Report a problem,或输入 /bug 或 /feedback,可附带一段描述来预填报告。当您提交报告,且通过第一方连接登录到 Anthropic 时,Claude Code 会将其发送给 Anthropic。需要 Claude Code v2.1.229 或更高版本。 使用第三方提供商或没有 Anthropic 凭据时,不会发送任何内容。对话框会在您撰写之前说明这一点。提交时会将报告保存为位于 ~/.claude/feedback-bundles/ 下的本地归档文件,其中已知的 API 密钥和令牌模式会被遮盖。将报告保存到您的计算机需要 Claude Code v2.1.284 或更高版本。 报告保存后,确认信息会显示文件名,并包含 Show folder 按钮。请将该文件发送给您的 Anthropic 客户代表,或将其附加到支持请求中。 如果您组织的策略关闭了产品反馈,Report a problem 不会出现在菜单中,/bug 和 /feedback 会显示 Feedback is turned off by your organization's policy or this environment's settings. 通知,而不是打开报告。在 Claude Code v2.1.284 或更高版本中,如果您设置了 DISABLE_FEEDBACK_COMMAND 或 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 环境变量,反馈同样会被关闭,打开报告时会改为显示该通知。
  • 旁支问题:输入 /btw 后跟一个问题,即可就您的会话提问,而不会添加到对话中。回答会在聊天旁边的面板中打开,您可以在其中继续追问。需要 Claude Code v2.1.227 或更高版本。 该线程在窗口重新加载后依然保留。Claude Code 会保留最新的 20 轮问答,并按照 cleanupPeriodDays 计划使已存储的线程过期,前提是 Claude Code 能够安全地确定保留期限。要清除线程,请点击面板中的垃圾桶图标。
  • 复制回复:将鼠标悬停在回复上并点击 Copy response 即可将其复制到剪贴板,或输入 /copy 复制最新的回复。/copy 2 复制倒数第二条回复。需要 Claude Code v2.1.277 或更高版本。
  • 书签:将鼠标悬停在回复上并点击 Bookmark response 即可保存该回复,或在已保存的回复上点击 Remove bookmark 将其移除。 要查看已保存的回复,请打开 Bookmarks 面板。您可以点击 Claude Code 面板顶部的书签图标,在命令菜单的 Context 部分中选择 Bookmarks,或输入 /bookmarks。需要 Claude Code v2.1.286 或更高版本。
  • Claude 发送给您的文件:当会话连接到 Remote Control,且 Claude 使用 SendUserFile 工具向您发送文件时,对话中会显示一行,例如 Sent report.md, chart.png。点击文件名即可在编辑器中打开。该行在 Focus view 中保持可见。需要 Claude Code v2.1.295 或更高版本。 当文件路径指向某个网络主机时,该文件会显示为无法点击的完整路径,例如 \\server\share\report.md。Claude Code 不会为该文件提供链接,因为打开它会连接该主机,并且在 Windows 上可能会将您的 Windows 凭据发送到该主机。
  • 上下文指示器:输入框会显示您已使用了多少 Claude 上下文窗口。Claude 会在需要时自动压缩,您也可以手动运行 /compact。
  • 提示缓存时钟:上下文指示器旁边的时钟图标会估算对话的提示缓存在过期前还剩多少时间。它从缓存的五分钟或一小时生命周期开始倒计时,每次使用缓存的回复都会重新开始倒计时。除压缩外,使缓存失效的操作不会重置时钟,因此在您切换模型后它仍可能显示剩余的分钟数。
    • 在倒计时结束之前,图标会显示剩余分钟数,例如 12m。
    • 倒计时结束后,分钟数会消失,图标变为红色(或您主题的错误颜色),直到下一条回复。此时缓存很可能已经过期,因此在缓存重建期间,您下一条消息得到的回复会更慢、成本更高。如果五分钟的生命周期总是在您发送消息之间耗尽,请参阅自行选择 TTL。
    • 对话刚被压缩后,图标同样会变为红色且不显示分钟数,直到下一条回复,因为缓存尚未覆盖压缩后的对话。
  • Agent 地图:当对话包含子代理时,输入框底部会出现 Agent 计数,例如 2 agents。其圆点表示是否有子代理正在工作或正在等待您授予权限。 点击 Agent 计数即可打开 Agent 地图,它以树状结构在主 Agent 下绘制对话中的子代理,每个子代理都附带其状态、已用时间和 token 数。点击某个子代理即可查看其提示词和工具调用、打开其只读会话记录,或在其运行时将其停止。需要 Claude Code v2.1.269 或更高版本。 地图还会在 Agent 下方列出会话的其他后台任务,例如后台 shell 命令和监视器。点击某一行即可打开该任务的卡片,并在其中将其停止。 如果没有显示 Agent 计数(例如 Claude 启动了后台 shell 但没有子代理),要打开地图,请在输入框中输入 /tasks。地图中的后台任务和输入的 /tasks 需要 Claude Code v2.1.277 或更高版本。 在 Claude Code v2.1.286 或更高版本中,当您点击 Stop 或按 Esc 时,当前轮次会结束。后台 Agent 会继续运行,直到完成或您从地图中将其停止。
  • 扩展思考:让 Claude 花更多时间推理复杂问题。要将其关闭或重新打开,请使用命令菜单(/)Model 部分中的 Thinking 开关。在无法关闭思考的模型上,菜单中没有 Thinking 开关,思考会始终保持开启。 仅显示标签(例如 Thought for 12s)的思考块不包含文本,点击时也不会展开。要查看思考摘要,请在 ~/.claude/settings.json 中将 showThinkingSummaries 设置为 true,然后从命令面板运行 Developer: Reload Window。 已有的思考块仍保持为空。在重新加载之后的回复中,点击某个块或按 Ctrl+O 即可将它们全部展开。
  • 多行输入:按 Shift+Enter 可添加新行而不发送。这��问题对话框的”Other”自由文本输入中同样适用。

引用文件和文件夹

使用 @ 提及为 Claude 提供有关特定文件或文件夹的上下文。当您输入 @ 后跟文件或文件夹名称时,Claude 会读取该内容,并可以回答相关问题或对其进行更改。Claude Code 支持模糊匹配,因此您可以输入部分名称来查找所需内容:

读取 PDF 的特定页面

对于大型 PDF,您可以让 Claude 读取特定页面而不是整个文件。可以请求单个页面、诸如第 1-10 页的范围,或诸如第 3 页起的开放范围。读取特定页面需要在运行 Claude Code 的计算机上安装 poppler-utils。

在提示词中包含终端输出

在提示词中使用 @terminal:name 引用终端输出,其中 name 是终端的标题。这样 Claude 无需复制粘贴即可看到命令输出、错误消息或日志。

附加图片和文件

  • 要附加图片,请将其从剪贴板粘贴到输入框中。
  • 要附加文件,请按住 Shift 将其拖入输入框。
  • 要从上下文中移除附件,请点击附件上的 X。

粘贴文本

您粘贴的文本会在输入框中保持可见,而不会像在终端中那样折叠为占位符。在 Claude Code 标记粘贴文本的会话中,Claude 仍会将大段粘贴内容视为您粘贴而非输入的文本。 Claude Code 还会从您粘贴到输入框中的文本以及您发送的任何其他内容中移除不可见 Unicode 字符:
  • 如果粘贴时出现 Removed 3 invisible characters from the pasted text 之类的通知,则表示文本已去除这些字符后放入输入框。
  • 如果发送时出现有关已移除字符的通知,则表示没有发送任何内容。清理后的文本会回到输入框中。再次发送即可按显示的内容发送文本。

根据所选内容和打开的文件自动提供上下文

当您在编辑器中选择文本时,Claude 会自动看到您高亮显示的代码。输入框底部会显示已选择的行数。即使没有选择任何内容,Claude 也能看到您在编辑器中打开的是哪个文件,输入框会显示其名称。 按 Option+K(Mac)/ Alt+K(Windows/Linux)可插入包含文件路径和行号的 @ 提及,例如 @app.ts#5-10。

不让所选内容和打开的文件进入您的消息

要阻止所选文本或打开的文件进入您的消息,请在 VS Code 的设置中关闭相应的设置项:
  • 所选文本:关闭 Attach Selection 设置。需要 Claude Code v2.1.300 或更高版本。要移除某一次选择,请点击行数旁边的 X。当您选择其他文本时,行数会重新出现。
  • 打开的文件:关闭 Attach Open File 设置。需要 Claude Code v2.1.271 或更高版本。除非您的消息包含您在该文件中所选的文本,否则该文件不会被包含在内。
在关闭 Attach Selection 的情况下,要将文本作为 @ 提及添加,请选择该文本,然后在 Mac 上按 Option+K,在 Windows 和 Linux 上按 Alt+K。 在 VS Code 的集成终端中运行 claude 时,这两个设置同样适用。

来自排除���忽略文件的所选文本

在聊天面板中,扩展不会发送某些文件中的所选文本:
  • 当文件位于您的工作区内且匹配您的 files.exclude 或 search.exclude 设置时,Claude 最多只会收到文件路径,而不会收到您所选的文本。
  • 这同样适用于被 git 忽略的文件,前提是 VS Code 的 search.useIgnoreFiles 设置和扩展的 respectGitIgnore 设置都已打开(默认如此)。
此筛选仅适用于聊天面板。当 Claude Code 在集成终端中运行时,Claude 可以收到您在这些文件中所选的文本。要在终端中阻止 Claude 获取文件内容,请添加 Read 拒绝规则。

回复中的 LaTeX 数学公式

聊天面板会将 Claude 回复中的 LaTeX 数学公式显示为排版后的公式。数学公式渲染需要 Claude Code v2.1.301 或更高版本。在终端模式下,数学公式不会被排版。面板会同时排版独立公式和行内公式:
  • 独立公式:独占一行或多行的 $$ … $$ 或 \[ … \] 块,以及语言为 math 的围栏代码块
  • 行内公式:在同一行内开始和结束的 $…$ 或 \(…\),例如 $E = mc^2$ 或 \(a^2 + b^2 = c^2\)
面板会尝试区分数学公式与相同字符的其他用法,因此 $HOME、$5 之类的价格或 sed 's/\(foo\)/\1/' 等文本不会被排版。代码片段内的文本,以及除 math 围栏代码块以外的任何代码块中的文本,也不会被排版。如果某个公式本应被排版却按原样显示,请参阅公式显示为原始 LaTeX。 当您选择并复制包含已排版公式的文本时,得到的是以 $…$ 或 $$…$$ 分隔符包裹的公式 TeX 源码,而不是绘制出的符号。Copy response 和 /copy 会按 Claude 所写的原样提供回复,包括 TeX 源码。

恢复过去的对话

点击 Claude Code 面板顶部的 Session history 按钮即可访问您的对话历史记录。您可以按关键字搜索或按时间浏览。 点击任意对话即可将其恢复。如果该对话已在当前窗口的另一个标签页中打开,点击它会切换到该标签页。如果通知提示该对话仍在其他位置打开,请参阅如何在此窗口中继续该对话。如果对话打开后没有显示任何消息,请参阅为什么恢复的对话一开始显示为空白。有关恢复会话的更多信息,请参阅管理会话。
  • 会话标题:新会话会根据您的第一条消息获得 AI 生成的标题。
  • 重命名和归档:将鼠标悬停在会话上即可显示这些操作。重命名可为其设置描述性标题,归档则会将其移至列表底部的 Archived sessions 组。
  • 设置了 claudeProcessWrapper 时对话缺失:请将扩展更新到 2.1.304 或更高版本。之后列表会包含之前缺失的对话,以及 claude -p 或 Agent SDK 在此工作区中启动的会话。
默认情况下,14 天内没有活动的会话会自动移至 Archived sessions,除非它处于打开状态、未读或位于某个分组中。自动归档需要 Claude Code v2.1.265 或更高版本。要更改期限或将其关闭,请打开 Archive Inactive Sessions 设置,并选择天数或 Never。 要恢复已归档的会话:
  • 单个会话:展开 Archived sessions 并点击 Unarchive session。
  • 一次性恢复所有已归档会话:将鼠标悬停在活动栏会话列表中的 Archived sessions 标题上,然后点击其取消归档图标。需要 Claude Code v2.1.277 或更高版本。
在 v2.1.257 之前,该操作是 Delete session,它会隐藏会话且无法恢复。升级后,您当时删除的会话会出现在 Archived sessions 下。 当您恢复的对话以计划模式结束时,Claude Code 会恢复计划模式。需要 Claude Code v2.1.246 或更高版本。在以下情况下,Claude Code 不会恢复计划模式:

对话仍在其他位置打开

当通知提示该对话仍在其他位置打开时,要在此窗口中继续,请先完成与您情况对应的步骤,然后点击 Open here anyway:
  • 您没有在其他位置打开任何内容:扩展重启之前的某个 Claude 进程可能仍打开着该对话。该进程通常会在大约 10 分钟内自行结束,因此请等待这段时间后再点击。如果在它结束之前点击,该对话会在两处同时打开,直到该进程结束。
  • 您在其他位置打开了该对话:请先在那里将其关闭,例如在终端中退出 claude,或在另一个 VS Code 窗口中关闭其标签页
当该对话仍在另一个 Claude Code 进程中打开时,输入框的位置会显示以下通知:
设置了 claudeProcessWrapper 时,扩展会跳过此检查并直接打开对话。

从 claude.ai 恢复云端会话

如果您运行云端会话,可以直接在 VS Code 中恢复它们。这需要使用 Claude.ai Subscription 登录,而不是 Anthropic Console。
1

打开会话历史记录

点击 Claude Code 面板顶部的 Session history 按钮。
2

选择 Web 标签页

对话框会显示两个标签页:Local 和 Web。点击 Web 即可查看来自 claude.ai 的会话。
3

选择要恢复的会话

浏览或搜索会话。点击其中一个即可在本地继续对话。
当您打开的文件夹是 GitHub 仓库时,Web 标签页仅显示来自该仓库的会话。当您恢复云端会话时,扩展会下载对话历史记录的副本;所做的更改不会同步回 claude.ai。
Web 标签页还会列出您的 Remote Control 会话。如果您点击的会话是在您当前打开���文件夹中运行的,扩展会直接打开该本地对话,而不是下载副本。如果已有标签页显示该对话,扩展会聚焦到该标签页。如果扩展无法排除另一个 Claude 进程正打开该对话的可能性,您将得到一份下载的副本。 如果对话的任何部分下载失败,会显示错误且不会保存副本。再次选择该会话即可重试。如果您选择的会话尚无可下载的对话,错误信息会告诉您应改为在何处继续该会话。

查看账户和用量

运行 /usage 可打开 Account & usage 对话框,其中显示您已登录的账户和用量。用量数据与您的登录方式相对应:
  • claude.ai 套餐:显示套餐各项限额的用量条,例如当前会话和本周。 对话框还会细分哪些因素在消耗您的套餐限额:
    • 建议:建议进行的更改,每行一条,例如 Trim ~/code/api/CLAUDE.md · 49k tokens per request
    • 修复按钮:要让 Claude Code 应用它能处理的建议,请点击建议下方的按钮,例如 Fix both。要了解该按钮作用于哪些行以及随后会在您的会话中发生什么,请参阅使用修复快捷方式应用建议。需要 Claude Code v2.1.305 或更高版本。 连接 Remote Control 期间不会显示该按钮。如果在 Remote Control 连接后出现 The usage fix wasn’t fully sent. Open usage and try again. 警告,请先断开 Remote Control,然后再重试。
    • 归因:显示每个 skill、子代理、插件和 MCP 服务器分别产生了多少用量的表格
    使用 Day 和 Week 切换可在过去 24 小时和过去 7 天之间切换。这些数据是近似值,根据本机上的本地会话计算得出,因此不包括来自其他设备或 claude.ai 的用量。
  • 其他登录方式:当套餐限额不适用于您的登录方式时(例如使用第三方提供商或 API 密钥),Usage 部分会改为显示该会话自身的费用和 token 用量。CLI 的 /usage 会在其 Session 区块中显示相同的总计。活动栏中的会话列表也会在其 Account & usage 标题下显示当前会话的总计。需要 Claude Code v2.1.277 或更高版本。
有关跟踪和减少用量的更多信息,请参阅跟踪您的费用。

使用检查点回退

VS Code 扩展支持检查点,它会跟踪 Claude 的文件编辑,并允许您回退到之前的状态。将鼠标悬停在任意消息上即可显示回退按钮,然后从以下三个选项中选择:
  • Fork conversation from here:从此消息开始一个新的对话分支,同时保留所有代码更改
  • Rewind code to here:将文件更改还原到对话中的此时间点,同时保留完整的对话历史记录
  • Fork conversation and rewind code:开始一个新的对话分支,并将文件更改还原到此时间点
有关检查点工作原理及其限制的完整详情,请参阅检查点功能。

自定义您的工作流

您可以调整 Claude 面板的位置、运行多个对话、对会话列表进行分组或筛选,或切换到终端模式。

选择 Claude 的位置

您可以拖动 Claude 面板,将其放置在 VS Code 中的任意位置。抓住面板的标签页或标题栏并将其拖动到:
  • 辅助侧边栏:窗口右侧。编码时 Claude 始终可见。
  • 主侧边栏:左侧带有资源管理器、搜索等图标的侧边栏。
  • 编辑器区域:将 Claude 作为标签页与您的文件并排打开。适用于辅助任务。
当 Claude 在新的编辑器组中打开标签页时,扩展会锁定该组。之后在 Claude 标签页获得焦点时打开的文件会进入另一个组,而不会在其旁边打开。 若要阻止扩展锁定编辑器组,请关闭 Lock Editor Groups 设置。已锁定的组会保持锁定,直到您手动解锁。该设置需要 Claude Code v2.1.274 或更高版本。
将侧边栏用于主要的 Claude 会话,并为辅助任务打开额外的标签页。Claude 会记住您偏好的位置。活动栏中的会话列表图标与 Claude 面板是分开的。会话列表始终显示在活动栏中,而 Claude 面板图标仅在面板停靠到左侧边栏时才会出现在那里。

重新加载后继续对话

在运行 Developer: Reload Window 或重启 VS Code 后,请查看对话原先打开的位置:
  • 编辑器标签页:对话会随其标签页一起恢复。
  • 侧边栏:如果您在最近 10 分钟内在该对话中发送过消息或 Claude 在其中做出过响应,对话会恢复。如果未恢复,请从会话历史记录中恢复该对话。
如果输入框所在位置显示一条通知,提示该对话仍在其他地方打开,请参阅如何在此处继续该对话。如果消息起初保持空白,请参阅消息为何空白以及何时出现。

重新加载后被中断的步骤

如果重新加载在 Claude 执行某个步骤的过程中将其中断,对话恢复后 Claude 会继续该步骤,并在聊天中显示一条通知来标记此次继续。需要 Claude Code v2.1.274 或更高版本。如果该步骤是在一小时以前被中断的,或者该会话在其他地方打开,对话恢复后将处于空闲状态。

关闭重新加载后的继续执行

若要阻止 Claude 在重新加载后继续被中断的步骤,请打开 Continue After Reload 设置并取消勾选。 如果您在 VS Code 的环境中或在 environmentVariables 设置中设置了 CLAUDE_CODE_RESUME_INTERRUPTED_TURN 或任何其他 CLAUDE_CODE_RESUME_ 变量,它在面板中不会生效。这是因为扩展在启动面板的会话之前会移除这些变量。

对话未被重新打开

重新加载后,如果出现一个新聊天,且其输入框上方显示类似如下的通知,则表示面板未重新打开您的对话,因为该对话最近两次打开均未完成:
当面板在加载对话时崩溃或停止响应,或者您在对话打开后约三秒内重新加载或关闭窗口时,打开操作就不会完成。该对话不会发生变化,并仍保留在会话历史记录中。
  • 仍要打开:点击 Open it anyway 或从会话历史记录中选择该对话。对话打开完成后,之后重新加载时它会照常恢复。
  • 如果面板在加载对话时停止响应:重新加载窗口。随后会打开一个新聊天。
  • 保持关闭:继续在新聊天中工作。发送提示词后,该通知即会消失。

运行多个对话

从命令面板中使用 Open in New Tab 或 Open in New Window 来启动更多对话。每个对话都维护各自的历史记录和上下文,让您可以并行处理不同的任务。 使用标签页时,火花图标上的小彩点表示状态:蓝色表示有待处理的权限请求,橙色表示 Claude 在标签页隐藏期间已完成工作。

将会话整理为组

在活动栏的会话列表中,您可以将相关会话收集到已命名、可折叠的组中。需要 Claude Code v2.1.229 或更高版本。
  • 对会话进行分组或取消分组:右键点击某个会话,即可基于它创建组、将其移入现有组,或将其从所在组中移除。每个会话一次只属于一个组,因此将其移入另一个组时会将其从原来的组中移除。
  • 一次移动多个会话:Cmd-点击(Mac)/ Ctrl-点击(Windows/Linux)每个会话,或 Shift-点击以选择一个范围,然后右键点击所选内容。
  • 从标签页对会话进行分组:从命令面板运行 Claude Code: Add Session Tab to Group,然后选择或创建一个组。需要 Claude Code v2.1.257 或更高版本。
  • 重命名或删除组:右键点击组标题。删除组只会移除该组本身,其中的会话会回到未分组列表。
扩展按工作区文件夹保存组,因此组在窗口重新加载后依然保留,并会出现在您打开同一文件夹的每个窗口中。当您搜索列表时,扩展会将所有组中的匹配项显示在一个平铺列表中。

筛选会话列表

若要缩小活动栏中较长的会话列表,请使用列表顶部的两个筛选控件。需要 Claude Code v2.1.271 或更高版本。启用任一筛选时,已归档的会话都不会显示。
  • Active:打开此开关后,仅显示需要您输入、正在工作或未读的会话,以及您上次聚焦的 Claude 标签页中的会话。
  • 按状态筛选:点击漏斗图标,然后勾选 Needs input、Working 或 Completed,以显示处于这些状态中任一状态的会话。勾选 Open 或 Closed,可按会话是否处于打开状态进行筛选。当会话在此窗口中有标签页,或正在本机上的另一个 Claude Code 进程(例如终端中)运行时,该会话即视为处于打开状态。
当 Active 处于打开状态且您勾选了某个状态、Open 或 Closed 时,列表还会显示与您的勾选项匹配的所有会话。您设置的筛选条件在窗口重新加载后依然保留。

切换到终端模式

默认情况下,扩展会打开图形化聊天面板。如果您更喜欢 CLI 风格的界面,请打开 Use Terminal 设置并勾选该复选框。 您也可以在 Mac 上按 Cmd+, 或在 Windows/Linux 上按 Ctrl+, 打开 VS Code 设置,转到 Extensions > Claude Code,然后勾选 Use Terminal。

管理插件

VS Code 扩展提供了一个图形界面,用于安装和管理插件。在输入框中键入 /plugins 即可打开 Manage plugins 界面。

安装插件

插件对话框显示两个标签页:Plugins 和 Marketplaces。 在 Plugins 标签页中:
  • 已安装的插件显示在顶部,并带有用于启用或禁用它们的切换开关。
    • 如果您关闭了项目共享的 .claude/settings.json 中启用的插件,扩展会先进行询问:Disable for me 仅为您关闭该插件,而 Disable for everyone 会修改共享文件。
    • 加载失败的插件会在其所在行显示简短原因。点击该原因可查看您可以采取的措施,包括复制完整的错误消息,以便在插件故障排除中查找。
  • 来自您已配置市场的可用插件显示在下方
  • 通过搜索可按名称或描述筛选插件
  • 在任意可用插件上点击 Install
安装插件时,请选择安装作用域:
  • Install for you:在您的所有项目中可用(用户作用域)
  • Install for this project:与项目协作者共享(项目作用域)
  • Install locally:仅对您可用,且仅在此仓库中可用(本地作用域)
安装完成后,会出现一个表单,要求填写插件尚未设置的配置选项。如需稍后查看或更改这些选项,请点击插件所在行的齿轮图标。 敏感文本字段会被遮盖,之前保存的密钥会显示 (unchanged)。将字段留空即可保留已保存的值。保存更改后,已打开的会话会重新加载其插件,对话框会显示 Restart Claude to apply plugin changes。

卸载插件

每个已安装的行都会注明其安装所在的作用域。要卸载该安装,请点击该行的垃圾桶图标。垃圾桶图标变暗表示该行无法从当前工作区卸载,例如由您的组织管理的插件,或为其他项目安装的插件。 扩展会在以下两种情况下先进行询问:
  • 项目共享的 .claude/settings.json 中启用的插件:选择 Disable for me,这会为您的协作者保留该插件的安装;或选择 Uninstall for everyone,这会使用 --keep-data 移除项目的安装,因此插件保存的数据目录会保留下来。如果您已经为自己关闭了该插件,垃圾桶图标会直接移除您自己的安装,而不再询问。
  • 其他情况下,带有已保存数据的插件的最后一个安装:选择保留还是删除数据;默认为 Keep
如需让他人直接安装某个特定插件,请向其提供扩展的 install-plugin URL。打开该 URL 会启动或聚焦 VS Code,打开 Claude Code 面板,并在该插件的作用域选择界面打开 Manage plugins 对话框。在对方选择作用域之前,不会安装任何内容。如果对方的 Claude Code 中尚未配置该插件的市场,对话框会先要求对方添加该市场。
该 URL 接受两个查询参数: 扩展在打开任何内容之前会检查这两个值:
  • 插件名称:最多 100 个字符,以 ASCII 字母或数字开头,其余部分只能使用 ASCII 字母、数字、.、_ 和 -。
  • 市场来源:仅限 marketplace 参数所列的形式,因此不能是本地路径、http:// 地址或市场名称(例如 claude-plugins-official)。https:// URL 不能包含用户名、密码或查询字符串。
  • Git ref:要将市场固定到某个分支或标签,请在来源后追加 %23(# 的编码形式)和 ref,例如 marketplace=owner/repo%23v1.0。包含未编码 # 的链接会失败。anthropics GitHub 组织中的市场无法在链接中固定。
打开违反这些规则的链接时,用户会看到以 Invalid plugin installation URL 开头的错误。Claude Code 面板和对话框都不会打开,也不会安装任何内容。如果您的插件名称或市场无法放入链接中,请告知用户在 Marketplaces 标签页中添加该市场,然后从 Plugins 标签页安装该插件。 以下情况会在对话框中显示一条消息,而不是显示作用域选择:
  • 市场中没有该名称的插件:对话框会报告未找到该插件。请对照市场的列表检查 plugin 值。
  • 插件已安装:对话框会说明这一点,且不做任何更改。
  • 已添加了另一个同名市场:对话框会说明未添加链接中的市场,且不会安装任何内容。
GitHub README、issue 以及其他一些 Markdown 托管平台会移除 scheme 不是 http 或 https 的链接,因此 vscode:// 链接在这些平台上会显示为纯文本。在这些平台上,请将 URL 放入代码块中,正如链接显示为纯文本而不可点击中针对 claude-cli:// 链接所述。

管理市场

切换到 Marketplaces 标签页以添加或移除插件来源:
  • 输入 GitHub 仓库、URL 或本地路径以添加新市场
  • 点击刷新图标以更新市场的插件列表
  • 点击垃圾桶图标以移除市场。移除市场会卸载您从中安装的所有插件,因此会先弹出确认提示并列出这些插件
您在对话框中进行的插件更改会立即应用于该 VS Code 窗口中已打开的 Claude Code 会话。 如果您打开对话框时所在的会话无法重新加载其插件,对话框会提供重试或在该会话中重启 Claude 的选项。
扩展通过运行与 CLI 相同的命令来管理插件。您在扩展中配置的插件和市场在 CLI 中同样可用,反之亦然。
有关插件系统的更多信息,请参阅插件和插件市场。

在面板中绘制内容的插件

包含 mod 的插件可以在聊天面板中绘制内容。绘制功能需要扩展版本 2.1.299 或更高版本。不获取功能标志的会话(例如在 Amazon Bedrock 上运行的会话)需要 2.1.304 或更高版本。您可以从此类插件中看到:
  • 对话旁边或输入框上方的窗格
  • 输入框上方的 toast 通知或状态栏
  • 以插件自己的方式绘制的消息或工具调用
当您安装的插件在面板中添加或更改内容时,会有一个标签注明该插件,例如以下措辞:
  • From the token-chart plugin:该插件绘制或输出了此内容,或者此卡片是该插件在向您询问某些事项
  • Edited by the token-chart plugin:该插件更改了 Claude Code 绘制的某些内容,例如工具调用
  • Prompt from the token-chart plugin:该插件代表您发送了此消息
要阻止插件绘制内容,请在插件对话框中关闭该插件。

使用 Chrome 自动执行浏览器任务

将 Claude 连接到您的 Chrome 浏览器,即可在不离开 VS Code 的情况下测试 Web 应用、借助控制台日志进行调试,以及自动化浏览器工作流。此功能需要 Claude in Chrome 扩展程序 1.0.36 或更高版本。 在输入框中输入 @browser,然后输入您希望 Claude 执行的操作:
您也可以打开附件菜单,选择特定的浏览器工具,例如打开新标签页或读取页面内容。 Claude 会为浏览器任务打开新标签页,并共享您浏览器的登录状态,因此它可以访问您已登录的任何网站。 有关使用浏览器的更多信息,请参阅:

使用 git

Claude Code 与 git 集成,帮助直接在 VS Code 中进行版本控制工作流。要求 Claude 提交更改、创建拉取请求或跨分支工作。要在具有自己的文件和分支的隔离 worktree 中启动 Claude,请参阅 使用 worktrees 运行并行会话。

创建提交和拉取请求

Claude 可以暂存更改、编写提交消息,并根据您的工作创建拉取请求:
创建拉取请求时,Claude 会根据实际代码更改生成描述,并可以添加有关测试或实现决策的上下文。

重新打开已移入 worktree 的对话

在重新打开的对话中,This session is in worktree 横幅表示该对话的工作目录是横幅中所指的 worktree,而不是此窗口当前打开的文件夹。要在新�� VS Code 窗口中打开该 worktree,请点击横幅上的 Open worktree。 例如,当您要求 Claude 在某个 worktree 中工作时,对话就会移入该 worktree。当您重新打开该对话,或面板在窗口重新加载后重新打开它时,如果该 worktree 是由 Claude Code 在 .claude/worktrees/ 下创建的且仍然存在,对话将在该 worktree 中恢复。在 Claude Code v2.1.300 之前,打开的会是一个空对话。如果您使用的是这些版本,请更新扩展。

在后台运行工作

将长时间运行的命令或子代理发送到后台,然后从输入框中查看其状态。

将正在运行的命令或子代理移至后台

当某个命令或子代理让 Claude 等待的时间超出您的预期时,请点击对话中其工具调用下方的 Run in background。需要 Claude Code v2.1.287 或更高版本。
  • 时机:命令运行约两秒后,或 Claude 一开始等待其从主对话中生成的子代理,该操作即会出现。
  • 点击之后:Claude 停止等待并继续当前轮次。命令或子代理会作为后台任务继续运行,并在完成时通知 Claude。
如需在此期间查看任务状态或停止任务,请在输入框中键入 /tasks 以打开 Agent 地图。子代理会在其中的 Agent 树中保持其位置,而命令会列在各 Agent 下方,其卡片上显示最新输出。

子代理下方缺少 Run in background 操作

在 VS Code 中,子代理默认不显示此操作。要了解某个子代理为何不显示,请在 Agent 地图中打开其卡片并查看 Spawned by 行:
  • Spawned by the main agent:该子代理是在后台启动的,因此 Claude 不会等待它,您无需执行任何操作。如需让 Claude 改为等待子代理,请参阅让 Claude 等待子代理。
  • Spawned by 后为另一个子代理的名称:该操作仅对主 Agent 生成的子代理显示,而不会对另一个子代理所等待的嵌套子代理显示。要提前结束嵌套子代理,请点击其卡片上的 Stop agent。等待中的子代理随后会在没有该结果的情况下继续运行。

监控后台进程

在输入框中键入 /tasks 以打开 Agent 地图,其中列出了会话的后台任务,例如 Claude 作为后台 shell 命令保持运行的开发服务器。点击某个任务即可打开其卡片,您可以在卡片中停止该任务。需要 Claude Code v2.1.277 或更高版本。 对于后台 shell 命令,或运行命令的监视器,卡片还会显示该命令的最新输出,并在命令运行期间持续刷新。

查看后台子代理的工具调用

当某个子代理仅显示为一条状态栏而没有工具调用时,请在输入框中键入 /tasks 以打开 Agent 地图,并在其中点击该子代理。该子代理正在后台运行,其卡片会显示其工具调用,以及一个用于打开其会话记录的按钮。

VS Code 命令和快捷键

要打开命令面板,请在 Mac 上按 Cmd+Shift+P,在 Windows/Linux 上按 Ctrl+Shift+P。在其中输入”Claude Code”即可查看 Claude Code 扩展的所有可用 VS Code 命令。 某些快捷键取决于当前哪个面板处于”焦点”状态(接收键盘输入)。当光标位于代码文件中时,编辑器处于焦点状态。当光标位于 Claude 的提示词输入框中时,Claude 处于焦点状态。使用 Cmd+Esc / Ctrl+Esc 在两者之间切换。
这些是用于控制扩展的 VS Code 命令。并非所有内置的 Claude Code 命令都可在扩展中使用。有关详细信息,请参阅 VS Code 扩展与 Claude Code CLI 对比。

从其他工具启动 VS Code 标签页

该扩展在 vscode://anthropic.claude-code/open 注册了一个 URI 处理程序。您可以使用它从自己的工具中打开新的 Claude Code 标签页:shell 别名、浏览器书签小工具,或任何能够打开 URL 的脚本。如果 VS Code 尚未运行,打开该 URL 会先启动 VS Code。如果 VS Code 已在运行,该 URL 会在当前处于焦点状态的窗口中打开。 使用操作系统的 URL 打开程序来调用该处理程序。
该处理程序接受两个可选的查询参数: 例如,要打开一个预先填入”review my changes”的标签页:
该扩展还处理 vscode://anthropic.claude-code/install-plugin,它会针对某个插件打开插件对话框。要启动终端会话而不是 VS Code 标签页,请使用 CLI 的 claude-cli:// 处理程序。请参阅从链接启动会话。

配置设置

您可以在两个位置配置该扩展:VS Code 的扩展设置和 Claude Code 设置文件:
  • VS Code 中的扩展设置:控制扩展在 VS Code 中的行为。使用 Cmd+,(Mac)或 Ctrl+,(Windows/Linux)打开,然后转到 Extensions > Claude Code。也可以输入 / 并选择 General config… 来打开设置。
  • ~/.claude/settings.json 中的 Claude Code 设置:由扩展和 CLI 共享。用于配置允许的命令、环境变量、hook 和 MCP 服务器。在 Claude Code v2.1.283 或更高版本中,它也是决定对话起始权限模式的输入之一;在更早的版本中,仅适用于 Pro、Max、Ultra 和 Team 计划。切换权限模式列出了优先顺序。详情请参阅设置。
将 "$schema": "https://json.schemastore.org/claude-code-settings.json" 添加到您的 settings.json 中,即可直接在 VS Code 中获得所有可用设置的自动补全和内联验证。

扩展设置

VS Code 从您的用户设置中读取 initialPermissionMode,并忽略工作区中的值。在 v2.1.225 之前,VS Code 将该设置默认为 default,并会应用工作区中的值。

使用第三方提供商

默认情况下,Claude Code 直接连接到 Anthropic 的 API。如果您的组织使用 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 来访问 Claude,请将扩展配置为改用您的提供商:
1

禁用登录提示

打开 Disable Login Prompt 设置并勾选该复选框。您也可以在 Mac 上按 Cmd+, 或在 Windows/Linux 上按 Ctrl+, 打开 VS Code 设置,搜索”Claude Code login”,然后勾选 Disable Login Prompt。
2

配置您的提供商

按照适用于您的提供商的设置指南进行操作:这些指南介绍了如何在 ~/.claude/settings.json 中配置您的提供商,这样可以确保您的设置在 VS Code 扩展和 CLI 之间共享。
使用第三方提供商时,扩展不提供需要 claude.ai 账户的功能,例如计划用量条、语音听写以及用于云端会话的 Web 标签页。有关使用这些登录方式时 Account & usage 对话框显示的内容,请参阅查看账户和用量。 之前通过 /login 遗留的 claude.ai 登录将保持未使用状态:扩展不会在任何请求中发送它。

使用屏幕阅读器

扩展的聊天面板支持屏幕阅读器。无需启用任何设置:扩展会为每位用户播报对话活动,且不会产生任何视觉变化。这与 CLI 中需手动启用的屏幕阅读器模式不同,后者会调整终端界面。 聊天面板中的屏幕阅读器支持需要 Claude Code v2.1.236 或更高版本。 在对话过程中,扩展会播报以下内容:
  • Claude 的回复:扩展会在每条回复完成时播报一次,在文本流式输出期间保持静默。屏幕阅读器会将代码块读作行数摘要,按标签读出链接,并逐个单元格读出表格;完整回复仍可在会话记录中阅读。
  • 权限请求和问题:当权限提示出现时,扩展会播报该请求,并说明 Claude 想要使用的工具名称。当 Claude 向您提问,以及 Claude 完成计划并等待您审阅时,扩展也会以同样的方式播报。
  • 状态变化:当 Claude 开始工作、Claude 准备好接收您的输入,以及 Claude Code 开始压缩对话时,扩展会进行播报。如果您在会话的 SessionStart hook 仍在运行时发送提示词,屏幕阅读器还会读出”Running start-up hooks.”。
  • 排队的消息:当您在 Claude 工作期间发送消息时,扩展会针对该消息播报”Message queued.”。
  • 错误和模型提示:扩展会播报对话中的错误,并在使用额度同意提示或标记请求提示出现时进行播报。
在 Claude 工作期间,屏幕阅读器会读出一个文本标签,以代替进度指示器的动画。 当您重新打开会话或切换到其他会话时,扩展不会播报任何内容:恢复的历史记录、待处理的权限提示和进行中的状态都会保持静默,直到有新情况发生。

通过键盘使用聊天面板

会话记录中的每个轮次都以一个视觉上隐藏的标题开始,该标题以开启该轮次的提示词命名。使用屏幕阅读器的标题导航功能即可在轮次之间跳转。 在一个轮次中移动时,屏幕阅读器会播报当前所在消息的发送方:
  • 您的消息:“You”
  • Claude 的消息:“Claude”
  • 工具步骤:“Claude” 加上工具名称,例如 “Claude, Bash”
  • 思考块:“Claude, thinking”
由于扩展将会话记录公开为一个带标签的区域,您也可以使用 Tab 将焦点移至会话记录本身,并按自己的节奏阅读。如果要将焦点移至最新消息或等待中的权限提示,请从命令面板运行 Claude Code: Focus last message。 当某个权限提示选项会保存权限规则或目录访问权限时,其标签末尾会注明批准的保存位置,例如”all projects”或”this session”。要更改保存位置:
  • 在该选项获得焦点时,按 Left 或 Right 方向键。移动到每个保存位置时,扩展都会进行播报。方向键功能需要 Claude Code v2.1.268 或更高版本。
  • 点击标签中的保存位置。

VS Code 扩展与 Claude Code CLI 对比

Claude Code 同时提供 VS Code 扩展(图形面板)和 CLI(终端中的命令行界面)两种形式。部分功能仅在 CLI 中提供。如果需要使用仅限 CLI 的功能,请在 VS Code 的集成终端中运行 claude。这需要进行独立 CLI 安装:扩展不会将 claude 添加到您的 PATH 中。请参阅在 VS Code 中运行 CLI。

在 VS Code 中运行 CLI

如需在不离开 VS Code 的情况下使用 CLI,请在 Windows/Linux 上按 Ctrl+`,或在 Mac 上按 Cmd+` 打开集成终端,然后运行 claude。CLI 会自动与您的 IDE 集成,以支持 diff 查看和诊断信息共享等功能。如果您使用外部终端,请在 Claude Code 中运行 /ide 将其连接到 VS Code。 安装扩展并不会将 claude 添加到您的 shell PATH 中。扩展为其聊天面板捆绑了一份私有的 CLI 副本,但要在终端中输入 claude,需要进行独立 CLI 安装。只需安装一次,本页中的命令(包括 claude mcp add 和 claude --resume)即可在任何终端中使用。如果安装后仍然找不到 claude,请验证您的 PATH。

在扩展和 CLI 之间切换

扩展和 CLI 共享相同的对话历史记录。如需在 CLI 中继续扩展中的对话,请在终端中运行 claude --resume。这会打开一个交互式选择器,您可以在其中搜索并选择您的对话。

使用 MCP 连接外部工具

MCP (Model Context Protocol) 服务器让 Claude 能够访问外部工具、数据库和 API。 要在不离开 VS Code 的情况下管理 MCP 服务器,请在聊天面板中输入 /mcp。在打开的对话框中,您可以:
  • 添加服务器
  • 移除保存在 local、user 或 project 作用域中的服务器
  • 启用或禁用服务器
  • 重新连接到服务器
  • 管理 OAuth 身份验证
在对话框中添加和移除服务器需要 Claude Code v2.1.261 或更高版本。 您也可以在 VS Code 的集成终端(Ctrl+` 或 Cmd+`)中运行 claude mcp add。对话框和终端命令会保存到同一个 MCP 配置中,通过任一方式所做的更改都会在之后开始的对话中生效。下面的示例添加了 GitHub 的远程 MCP 服务器,该服务器使用以请求头形式传递的个人访问令牌进行身份验证:
将 YOUR_GITHUB_PAT 替换为您的个人访问令牌。claude mcp add 命令保存配置时不会验证凭据,因此这里会接受占位值,但服务器之后将无法连接。要验证连接,请开始一个新对话,输入 /mcp,并确认该服务器显示 Connected。凭据有误的服务器会显示 Failed。 配置完成后,即可让 Claude 使用这些工具(例如,“Review PR #456”)。
要查找可连接的服务器,请参阅查找和构建 MCP 服务器。

内置 IDE MCP 服务器

扩展处于活动状态时,会运行一个本地 MCP 服务器,CLI 会自动连接到该服务器。通过此服务器,CLI 可以:
  • 在 VS Code 的原生 diff 查看器中打开 diff
  • 读取您当前的选中内容以用于 @ 提及
  • 在您使用 Jupyter notebook 时请求 VS Code 执行单元格
该服务器名为 ide,并且在 /mcp 中处于隐藏状态,因为它没有任何需要配置的内容。不过,如果您的组织使用 PreToolUse hook 来设置 MCP 工具的允许列表,则需要了解它的存在。 选中内容和已打开文件上下文。 连接期间,CLI 会在您发送的每条提示词中附带当前编辑器的选中内容以及活动文件的路径作为上下文。发生这种情况时,会话记录中会显示一行 ⧉ Selected N lines from <file>。以下情况会改变该上下文:
  • 关闭 Attach Selection 设置:CLI 不会将您的选中内容作为上下文附带。
  • 关闭 Attach Open File 设置:只有在同时附带选中内容时,CLI 才会附带活动文件的路径。
  • 排队的消息:如果您在 Claude 工作时将消息加入队列,该消息会保留您按下 Enter 时的选中内容,无论您之后选中了什么。
  • 敏感文件:要排除 .env 等敏感文件,请为其路径添加 Read 拒绝规则。匹配的拒绝规则会阻止该文件的选中文本和已打开文件通知发送给 Claude。
传输和身份验证。 该服务器绑定到 127.0.0.1 上 10000–65535 范围内的随机端口,端口不可配置。传输方式和身份验证令牌的工作方式如下:
  • 传输方式:未加密的 ws://。由于该套接字仅限回环地址,任何能够捕获流量的进程也都能从锁文件中读取令牌,因此 TLS 不会提供额外保护。
  • 身份验证令牌:每次激活扩展时都会生成一个新的随机身份验证令牌,并将其写入位于 ~/.claude/ide/<port>.lock 的锁文件。CLI 必须以 X-Claude-Code-Ide-Authorization 标头的形式提供该令牌才能连接。
  • 锁文件权限:锁文件的权限为 0600,位于权限为 0700 的目录中,因此只有运行 VS Code 的用户才能读取它。如果设置了 CLAUDE_CONFIG_DIR,锁文件将改为写入 $CLAUDE_CONFIG_DIR/ide/。
向模型公开的工具。 该服务器托管了十几个工具,但只有两个对模型可见。其余工具是 CLI 用于自身 UI 的内部 RPC,例如打开 diff、读取选中内容和保存文件。这些工具会在工具列表到达 Claude 之前被过滤掉。 聊天面板中的诊断信息。 在聊天面板中,使用 Claude Code v2.1.285 或更高版本时,Claude 会通过一个名为 claude-vscode 的独立内置服务器读取 VS Code 的问题面板。Claude 可以向它请求单个文件的当前错误和警告,也可以请求 VS Code 拥有诊断信息的所有文件的错误和警告。 hook 和权限规则会将聊天面板的诊断工具视为 mcp__claude-vscode__getDiagnostics。要同时涵盖 CLI 和聊天面板中的诊断功能,请在您的 hook 或规则中同时指定 mcp__ide__getDiagnostics 和 mcp__claude-vscode__getDiagnostics。 以下 settings.json 示例会拒绝这两个工具:
Read 拒绝规则不涵盖这两个工具中的任何一个,因此请像示例那样使用拒绝规则按名称阻止它们。 Jupyter 执行始终会先询问。 mcp__ide__executeCode 无法静默运行任何内容。每次调用都会经过以下步骤:
  1. 代码作为新单元格插入到活动 notebook 的末尾。
  2. VS Code 将该单元格滚动到可见区域。
  3. 原生 Quick Pick 会请您选择 Execute 或 Cancel。
取消或按 Esc 关闭选择器会向 Claude 返回错误,且不会运行任何内容。当没有活动 notebook、未安装 Jupyter 扩展(ms-toolsai.jupyter)或内核不是 Python 时,该工具也会直接拒绝执行。
Quick Pick 确认独立于 PreToolUse hook。mcp__ide__executeCode 的允许列表条目让 Claude 可以提议运行单元格;而 VS Code 中的 Quick Pick 才是让它真正运行的关键。

修复常见问题

登录、网络和启动错误在安装故障排除页面和错误参考页面中有各自的条目。请在下表中找到您看到的内容,然后点击对应链接。

扩展无法安装

  • 确保您的 VS Code 版本兼容(1.94.0 或更高版本)
  • 检查 VS Code 是否具有安装扩展的权限
  • 尝试直接从 Visual Studio Marketplace 安装

Spark 图标不可见

打开文件时,Spark 图标会显示在编辑器工具栏(编辑器右上角)中。如果您没有看到该图标:
  1. 打开一个文件:该图标需要有文件处于打开状态。仅打开文件夹是不够的。
  2. 检查 VS Code 版本:需要 1.94.0 或更高版本。可在 Help > About 下查看
  3. 重启 VS Code:从命令面板运行”Developer: Reload Window”
  4. 禁用冲突的扩展:暂时禁用其他 AI 扩展(Cline、Continue 等)
  5. 检查工作区信任:该扩展在受限模式下无法使用
或者,点击窗口右下角状态栏中的 ✻ Claude Code。即使没有打开文件,此方法也有效。您也可以使用命令面板(Cmd+Shift+P / Ctrl+Shift+P)并输入”Claude Code”。

在 macOS 上按 Cmd+Esc 没有反应

在 macOS Tahoe 及更高版本中,系统的游戏叠加层快捷键默认绑定到 Cmd+Esc,会在按键到达 VS Code 之前将其拦截。要释放该快捷键:
  1. 打开系统设置
  2. 依次进入键盘、键盘快捷键、游戏控制器
  3. 取消勾选游戏叠加层复选框
或者,将扩展重新绑定到其他按键:打开 VS Code 快捷键编辑器(Cmd+K Cmd+S),搜索 Claude Code: Focus input,然后分配新的快捷键。

按 Ctrl+J 会在输入框中添加新行

要阻止 Ctrl+J 在输入框中添加新行,请在 Claude Code 的 keybindings.json 文件中解除该按键的绑定。扩展在 2.1.309 或更高版本中才会读取此文件,因此如果扩展版本较旧,请先在扩展视图中更新。 以下示例是完整的文件,其中只有一个用于解除该按键绑定的条目,即 Chat 块中的 "ctrl+j": null:
该文件位于您的 Claude Code 配置目录中,除非您已通过 CLAUDE_CONFIG_DIR 移动该目录,否则该目录为 ~/.claude。请查看该目录,并根据您发现的情况执行相应步骤:
  • 尚无 keybindings.json:创建该文件,内容与示例完全相同
  • keybindings.json 中没有 Chat 块:将示例中的 Chat 块添加到顶层 bindings 数组中,位置不限
  • Chat 块中没有 "ctrl+j" 行:将 "ctrl+j": null 添加到该块的 bindings 中
  • Chat 块中已有 "ctrl+j" 行:将该行的值更改为 null
保存文件后,在输入框中按 Ctrl+J 将不再添加新行。 如果 Ctrl+J 仍然在输入框中添加新行,请从命令面板按顺序运行以下两个命令:
  1. Developer: Reload Window,然后在输入框中再次按 Ctrl+J
  2. Claude Code: Show Logs,然后查找包含 Ctrl+J in the chat input still inserts a newline 的警告。在警告所指出的文件中更正其报告的问题,保存文件,然后再次按 Ctrl+J。
如果日志中没有此类警告,请检查该文件是否位于您的 Claude Code 配置目录中,以及其 Chat 块是否将 "ctrl+j" 设置为 null。如果 Ctrl+J 仍然添加新行,请报告该问题。

Claude Code 面板空白或无法加载

如果 Claude Code 面板已打开但完全不显示任何内容(连输入框都没有),请在扩展视图中将扩展更新到 v2.1.309 或更高版本。然后从命令面板运行 Developer: Reload Window。如果随后看到 Claude Code couldn’t load 通知,请按顺序完成其中列出的步骤。 如果面板仍然无法加载,请打开扩展的日志,并附上日志副本报告该问题:
  • 在 v2.1.309 或更高版本上仍然空白:从命令面板运行 Claude Code: Show Logs 打开日志
  • 通知中的步骤没有帮助:点击通知中的 Show logs 打开日志

恢复的对话起初显示为空白

当您恢复过去的对话或某个对话在重新加载后恢复时,��该对话的 Claude Code 进程启动期间,其消息可能保持空白。大约一秒后,空白区域会显示 Waiting for your plugins…。 您无需进行任何操作。一旦进程启动并确认没有插件需要先检查这些消息,消息就会显示;如果启动时间较长,则会在 20 秒后显示。

每次重新加载重新打开对话时面板都停止响应

如果每次重新加载并恢复对话时,整个面板都会崩溃、冻结或仅显示 Something went wrong,请将扩展更新到 v2.1.301 或更高版本。然后再次重新加载窗口或重启 VS Code。当对话连续两次未能完成打开后,您会得到一个新的聊天来替代它,并附有一条说明该对话未被重新打开的通知。

公式显示为原始 LaTeX

如果 Claude 回复中的所有数学公式都没有被排版,请在扩展视图中检查扩展的版本,因为数学渲染需要 2.1.301 或更高版本。如果您使用的是终端模式(无论版本如何,该模式都不会排版数学公式),请取消勾选 Use Terminal 设置,以便 Claude Code 改为在聊天面板中打开。 如果某个公式按原样显示,而其附近的其他公式已被排版,请检查以下原因:
  • 该公式是行内公式,且面板未将其视为数学公式:请让 Claude 以单独成行的 $$ 块重新发送该公式。当 $…$ 分隔符之间的文本符合以下情况时,面板会将行内公式按原样保留:
    • 不只是简单算术,却没有 =、+ 或 ^ 等字符将其标记为数学公式,例如 $O(n log n)$
    • 以数字开头且没有此类字符,例如 $30$ 和 $1/N$
    • 美元符号内含空格,例如 $ x^2 $
    • 超过 60 个字符
    • 跨两行。跨两行的 \(…\) 公式同样不会被排版。
  • 该公式存在 TeX 语法错误:请让 Claude 重写该公式并修正错误。
  • 该公式定义了宏:包含宏定义(例如 \newcommand 或 \def)的公式会按原样显示。请让 Claude 重写该公式,不使用宏。
  • 该公式包含未转义的 %:请让 Claude 重写该公式,使用 \% 表示百分号。
  • 该公式过大:长度超过 8,192 个字符的公式,或排版输出会远大于其 TeX 源文本的公式,会按原样显示。请让 Claude 将其拆分为多个较小的公式,或以更紧凑的方式书写。
  • 该公式位于大量数学公式之后:在回复的同一文本块中,面板会按顺序排版公式,直至达到上限。超出上限的后续公式会按原样显示。请让 Claude 单独再次发送您需要的公式。

在执行 TLS 检查的代理后方,听写或 Web 标签页失败

当听写或 Web 标签页因证书错误(例如 unable to get local issuer certificate)而失败时,请在 ~/.claude/settings.json 的 env 块中设置 NODE_EXTRA_CA_CERTS。将其设置为包含代理根 CA 证书的 PEM 文件的路径,该文件可向您的 IT 团队索取。该失败会显示在麦克风按钮或 Web 标签页上,或显示在日志中:
  • 听写:麦克风按钮会在 Dictation error: WebSocket error: 之后显示错误文本。
  • Web 标签页:列出云端会话的标签页会显示 Remote server is not connected,但不显示错误文本。要在日志中查看错误文本:
    1. 从命令面板运行 Claude Code: Show Logs,打开 Claude VSCode 输出频道。
    2. 点击该标签页上的 Reconnect,等待其不再显示 Connecting…。
    3. 在该频道中搜索 Error fetching remote sessions: 或 Failed to fetch organization UUID:,然后在最新的匹配行中查看该前缀之后的错误文本。
  • 日志警告:提及 an authority that Claude Code does not trust 的警告表示出现了证书错误。在执行 TLS 检查的代理后方,请在 ~/.claude/settings.json 的 env 中设置 NODE_EXTRA_CA_CERTS。v2.1.309 之前的版本不会记录此警告。
此修复需要扩展版本 2.1.307 或更高版本,因此请先更���扩展。然后将 NODE_EXTRA_CA_CERTS 设置为证书文件的完整路径,且不要使用 ~。对于 Windows 路径,在 settings.json 中每个反斜杠需要写两次,例如 C:\\certs\\example-ca.pem。
在连接到 WSL、SSH 主机、开发容器或其他系统的窗口中,请在该系统上(而不是在您的本地计算机上)保存证书文件并编辑 ~/.claude/settings.json。
以下示例指定了位于 Linux 或 macOS 路径 /etc/ssl/certs/example-ca.pem 的证书文件:
~/.claude/settings.json
保存 settings.json,然后开始录音或再次点击 Reconnect。如果错误再次出现,请通过 Claude Code: Show Logs 打开输出频道,并在其中搜索 use the CA certificates file。此类警告会说明扩展无法使用您的文件的原因,并指出它从何处读取该路径。然后在下表中找到您设置 NODE_EXTRA_CA_CERTS 的每个位置,并按照对应行的说明操作:

Claude Code 始终没有响应

如果 Claude Code 没有响应您的提示词:
  1. 检查您的网络连接:确保您的网络连接稳定
  2. 开始新对话:尝试开始一个新对话,查看问题是否仍然存在
  3. 尝试使用 CLI:在终端中运行 claude,查看是否能获得更详细的错误消息
如果问题仍然存在,请在 GitHub 上提交 issue,并附上错误的详细信息。

卸载扩展

要卸载 Claude Code 扩展:
  1. 在 Mac 上按 Cmd+Shift+X,或在 Windows/Linux 上按 Ctrl+Shift+X,打开扩展视图
  2. 搜索”Claude Code”
  3. 点击 Uninstall
如果您在 VS Code 集成终端中运行 claude,Claude Code 会自动重新安装该扩展。要使其保持卸载状态,请在 /config 中关闭 Auto-install IDE extension,或将 autoInstallIdeExtension 设置为 false。您也可以将 CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL 环境变量设置为 1。 如果还要删除扩展数据并重置所有设置,请删除您所用平台上该扩展的存储目录。 在 macOS 上:
在 Linux 上:
在 Windows 上,于 PowerShell 中运行:
如需更多帮助,请参阅故障排除指南。

后续步骤

现在您已在 VS Code 中设置好 Claude Code: