{/* TRANSLATED — 已翻译为中文 */}

> ## 文档索引
> 在此获取完整文档索引：https://code.claude.com/docs/llms.txt
> 使用此文件发现所有可用页面，然后再进一步探索。

# 在 VS Code 中使用 Claude Code

> 安装和配置 Claude Code 的 VS Code 扩展。获取 AI 编程辅助，包括内联差异、@-提及、计划审查和键盘快捷键。

<img src="https://mintcdn.com/claude-code/-YhHHmtSxwr7W8gy/images/vs-code-extension-interface.jpg?fit=max&auto=format&n=-YhHHmtSxwr7W8gy&q=85&s=300652d5678c63905e6b0ea9e50835f8" alt="VS Code 编辑器，右侧打开 Claude Code 扩展面板，显示与 Claude 的对话" width="2500" height="1155" data-path="images/vs-code-extension-interface.jpg" />

VS Code 扩展为 Claude Code 提供原生图形界面，直接集成到你的 IDE 中。这是在 VS Code 中使用 Claude Code 的推荐方式。

使用该扩展，你可以在接受之前审查和编辑 Claude 的计划、在编辑时自动接受编辑、从你的选择中 @-提及带有特定行范围的文件、访问对话历史记录，以及在单独的标签页或窗口中打开多个对话。

## 前置条件

安装前，请确保你有：

* VS Code 1.98.0 或更高版本
* Anthropic 账户（首次打开扩展时登录）。如果你使用 Amazon Bedrock 或 Google Vertex AI 等第三方提供商，请参阅[使用第三方提供商](#使用第三方提供商)。

<Tip>
  该扩展包含 CLI（命令行界面），你可以从 VS Code 的集成终端访问以获取高级功能。详见 [VS Code 扩展与 Claude Code CLI 对比](#vs-code-扩展与-claude-code-cli-对比)。
</Tip>

## 安装扩展

点击你的 IDE 对应的链接直接安装：

* [为 VS Code 安装](vscode:extension/anthropic.claude-code)
* [为 Cursor 安装](cursor:extension/anthropic.claude-code)

或在 VS Code 中，按 `Cmd+Shift+X`（Mac）或 `Ctrl+Shift+X`（Windows/Linux）打开扩展视图，搜索"Claude Code"，然后点击**安装**。

该扩展也安装在其他 VS Code 分支如 Windsurf 或 Kiro 中。在编辑器的扩展视图中搜索"Claude Code"，或从 [Open VSX 注册表](https://open-vsx.org/extension/Anthropic/claude-code)安装。如果你的编辑器无法安装扩展，请在其集成终端中运行 `claude` 代替。[CLI](/en/quickstart) 可在任何终端中工作。

<Note>如果安装后扩展未出现，请重启 VS Code 或从命令面板运行"Developer: Reload Window"。</Note>

## 入门

安装后，你可以通过 VS Code 界面开始使用 Claude Code：

<Steps>
  <Step title="打开 Claude Code 面板">
    在整个 VS Code 中，Spark 图标表示 Claude Code：<img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/vs-code-spark-icon.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=3ca45e00deadec8c8f4b4f807da94505" alt="Spark 图标" style={{display: "inline", height: "0.85em", verticalAlign: "middle"}} width="16" height="16" data-path="images/vs-code-spark-icon.svg" />

    打开 Claude 最快的方式是点击**编辑器工具栏**（编辑器右上角）中的 Spark 图标。该图标仅在你打开文件时出现。

    <img src="https://mintcdn.com/claude-code/mfM-EyoZGnQv8JTc/images/vs-code-editor-icon.png?fit=max&auto=format&n=mfM-EyoZGnQv8JTc&q=85&s=eb4540325d94664c51776dbbfec4cf02" alt="VS Code 编辑器显示编辑器工具栏中的 Spark 图标" width="2796" height="734" data-path="images/vs-code-editor-icon.png" />

    打开 Claude Code 的其他方式：

    * **活动栏**：点击左侧边栏中的 Spark 图标打开会话列表。点击任何会话将其作为完整编辑器标签页打开，或开始新会话。此图标在活动栏中始终可见。
    * **命令面板**：`Cmd+Shift+P`（Mac）或 `Ctrl+Shift+P`（Windows/Linux），输入"Claude Code"，然后选择"Open in New Tab"等选项。
    * **状态栏**：点击窗口右下角的 **✱ Claude Code**。即使没有打开文件也有效。

    你可以拖动 Claude 面板将其重新定位到 VS Code 中的任何位置。详见[自定义你的工作流](#自定义你的工作流)。
  </Step>

  <Step title="登录">
    首次打开面板时，会出现登录屏幕。点击**登录**并在浏览器中完成授权。

    如果稍后看到 **Not logged in · Please run /login**，扩展会自动重新打开登录屏幕。如果未出现，请从命令面板使用 **Developer: Reload Window** 重新加载窗口。

    如果你在 shell 中设置了 `ANTHROPIC_API_KEY` 但仍看到登录提示，VS Code 可能未继承你的 shell 环境。从终端使用 `code .` 启动 VS Code 以继承你的环境变量，或改用你的 Claude 账户登录。

    登录后，会出现**学习 Claude Code** 清单。点击**展示给我**逐项完成，或用 X 关闭。要稍后重新打开，在 VS Code 设置的 Extensions → Claude Code 中取消选中 **Hide Onboarding**。
  </Step>

  <Step title="发送提示">
    请求 Claude 帮助你的代码或文件，无论是解释某物如何工作、调试问题还是进行更改。

    <Tip>Claude 会自动看到你选中的文本。按 `Option+K`（Mac）/ `Alt+K`（Windows/Linux）还可以在提示中插入 @-提及引用（如 `@file.ts#5-10`）。</Tip>

    以下是询问文件中特定行的示例：

    <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-send-prompt.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=ede3ed8d8d5f940e01c5de636d009cfd" alt="VS Code 编辑器中选中 Python 文件的第 2-3 行，Claude Code 面板显示关于这些行的问题及 @-提及引用" width="3288" height="1876" data-path="images/vs-code-send-prompt.png" />
  </Step>

  <Step title="审查更改">
    当 Claude 想要编辑文件时，它会显示原始内容和提议更改的并排比较，然后请求权限。你可以接受、拒绝或告诉 Claude 改做什么。如果你在接受之前直接在差异视图中编辑了提议内容，Claude 会被通知你修改了它，因此它不会假设文件与其原始提议匹配。

    <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-edits.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=e005f9b41c541c5c7c59c082f7c4841c" alt="VS Code 显示 Claude 提议更改的差异，带有询问是否进行编辑的权限提示" width="3292" height="1876" data-path="images/vs-code-edits.png" />
  </Step>
</Steps>

有关使用 Claude Code 的更多想法，请参阅[常见工作流](/en/common-workflows)。

<Tip>
  从命令面板运行"Claude Code: Open Walkthrough"获取基础知识的引导之旅。
</Tip>

## 使用提示框

提示框支持多种功能：

* **权限模式**：点击提示框底部的模式指示器切换模式。在普通模式下，Claude 在每次操作前请求权限。在计划模式下，Claude 描述它将做什么并等待批准后再进行更改。VS Code 会自动将计划作为完整的 markdown 文档打开，你可以在 Claude 开始之前添加内联评论以提供反馈。在自动接受模式下，Claude 不询问直接进行编辑。在 VS Code 设置的 `claudeCode.initialPermissionMode` 中设置默认值。
* **命令菜单**：点击 `/` 或输入 `/` 打开命令菜单。选项包括附加文件、切换模型、切换扩展思考、查看计划使用量（`/usage`）和启动[远程控制](/en/remote-control)会话（`/remote-control`）。自定义部分提供对 MCP 服务器、钩子、内存、权限和插件的访问。带终端图标的项目在集成终端中打开。
* **上下文指示器**：提示框显示你正在使用 Claude 上下文窗口的多少。Claude 在需要时自动压缩，或你可以手动运行 `/compact`。
* **扩展思考**：让 Claude 花更多时间推理复杂问题。通过命令菜单（`/`）切换开启。Claude 的推理在对话中显示为折叠块：点击一个块来阅读它，或按 `Ctrl+O` 展开或折叠会话中的每个思考块。详见[扩展思考](/en/model-config#extended-thinking)。
* **多行输入**：按 `Shift+Enter` 添加新行而不发送。这在问题对话框的"其他"自由文本输入中也有效。

### 引用文件和文件夹

使用 @-提及为 Claude 提供关于特定文件或文件夹的上下文。当你输入 `@` 后跟文件或文件夹名称时，Claude 读取该内容并可以回答关于它的问题或对其进行更改。Claude Code 支持模糊匹配，因此你可以输入部分名称来找到你需要的：

```text theme={null}
> Explain the logic in @auth (fuzzy matches auth.js, AuthService.ts, etc.)
> What's in @src/components/ (include a trailing slash for folders)
```

对于大型 PDF，你可以让 Claude 读取特定页面而非整个文件：单页、范围如第 1-10 页，或开放范围如第 3 页起。

当你在编辑器中选择文本时，Claude 可以自动看到你高亮的代码。提示框底部显示选中了多少行。按 `Option+K`（Mac）/ `Alt+K`（Windows/Linux）插入带有文件路径和行号的 @-提及（例如 `@app.ts#5-10`）。点击选择指示器切换 Claude 是否可以看到你高亮的文本 - 眼睛斜杠图标表示选择对 Claude 隐藏。

你也可以按住 `Shift` 将文件拖入提示框以将它们作为附件添加。点击任何附件上的 X 以将其从上下文中移除。

### 恢复过去的对话

点击 Claude Code 面板顶部的**会话历史**按钮访问你的对话历史。你可以按关键字搜索或按时间浏览（今天、昨天、最近 7 天等）。点击任何对话以恢复完整的消息历史。新会话会根据你的第一条消息获得 AI 生成的标题。将鼠标悬停在会话上以显示重命名和移除操作：重命名以给它一个描述性标题，或移除以从列表中删除它。有关恢复会话的更多信息，请参阅[管理会话](/en/sessions)。

### 从 Claude.ai 恢复远程会话

如果你使用 [Web 版 Claude Code](/en/claude-code-on-the-web)，你可以直接在 VS Code 中恢复那些远程会话。这需要使用 **Claude.ai 订阅**登录，而非 Anthropic Console。

<Steps>
  <Step title="打开会话历史">
    点击 Claude Code 面板顶部的**会话历史**按钮。
  </Step>

  <Step title="选择远程标签页">
    对话框显示两个标签页：本地和远程。点击**远程**查看来自 claude.ai 的会话。
  </Step>

  <Step title="选择要恢复的会话">
    浏览或搜索你的远程会话。点击任何会话以下载它并在本地继续对话。
  </Step>
</Steps>

<Note>
  仅使用 GitHub 仓库启动的 Web 会话出现在远程标签页中。恢复会在本地加载对话历史；更改不会同步回 claude.ai。
</Note>

## 自定义你的工作流

启动运行后，你可以重新定位 Claude 面板、运行多个会话或切换到终端模式。

### 选择 Claude 的位置

你可以拖动 Claude 面板将其重新定位到 VS Code 中的任何位置。抓住面板的标签页或标题栏并拖动到：

* **辅助侧边栏**：窗口右侧。在你编码时保持 Claude 可见。
* **主侧边栏**：带有资源管理器、搜索等图标的左侧边栏。
* **编辑器区域**：将 Claude 作为标签页与文件一起打开。适合辅助任务。

<Tip>
  将侧边栏用于你的主 Claude 会话，打开额外的标签页用于辅助任务。Claude 会记住你的首选位置。活动栏的会话列表图标与 Claude 面板是分开的：会话列表在活动栏中始终可见，而 Claude 面板图标仅在面板停靠到左侧边栏时出现在那里。
</Tip>

### 运行多个对话

使用命令面板中的 **Open in New Tab** 或 **Open in New Window** 启动额外的对话。每个对话维护自己的历史和上下文，允许你并行处理不同的任务。

使用标签页时，Spark 图标上的小彩色点表示状态：蓝色表示有权限请求待处理，橙色表示 Claude 在标签页隐藏时完成了。

### 切换到终端模式

默认情况下，扩展打开图形聊天面板。如果你更喜欢 CLI 风格的界面，打开[使用终端设置](vscode://settings/claudeCode.useTerminal)并勾选复选框。

你也可以打开 VS Code 设置（Mac 上 `Cmd+,` 或 Windows/Linux 上 `Ctrl+,`），转到 Extensions → Claude Code，然后勾选 **Use Terminal**。

## 管理插件

VS Code 扩展包含用于安装和管理[插件](/en/plugins)的图形界面。在提示框中输入 `/plugins` 打开**管理插件**界面。

### 安装插件

插件对话框显示两个标签页：**插件**和**市场**。

在插件标签页中：

* **已安装的插件**出现在顶部，带有启用或禁用的开关
* 来自你配置的市场的**可用插件**出现在下方
* 搜索以按名称或描述过滤插件
* 点击任何可用插件的**安装**

安装插件时，选择安装范围：

* **为你安装**：在你所有项目中可用（用户范围）
* **为此项目安装**：与项目协作者共享（项目范围）
* **本地安装**：仅为你，仅在此仓库中（本地范围）

### 管理市场

切换到**市场**标签页以添加或移除插件源：

* 输入 GitHub 仓库、URL 或本地路径以添加新市场
* 点击刷新图标更新市场的插件列表
* 点击垃圾桶图标移除市场

更改后，横幅会提示你重启 Claude Code 以应用更新。

<Note>
  VS Code 中的插件管理在底层使用相同的 CLI 命令。你在扩展中配置的插件和市场在 CLI 中也可用，反之亦然。
</Note>

有关插件系统的更多信息，请参阅[插件](/en/plugins)和[插件市场](/en/plugin-marketplaces)。

## 使用 Chrome 自动化浏览器任务

将 Claude 连接到你的 Chrome 浏览器以测试 Web 应用、使用控制台日志调试以及自动化浏览器工作流，无需离开 VS Code。这需要 [Claude in Chrome 扩展](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) 1.0.36 或更高版本。

在提示框中输入 `@browser` 后跟你想让 Claude 做什么：

```text theme={null}
@browser go to localhost:3000 and check the console for errors
```

你也可以打开附件菜单选择特定的浏览器工具，如打开新标签页或读取页面内容。

Claude 为浏览器任务打开新标签页并共享你浏览器的登录状态，因此它可以访问你已登录的任何网站。

有关设置说明、完整功能列表和故障排除，请参阅[在 Chrome 中使用 Claude Code](/en/chrome)。

## VS Code 命令和快捷键

打开命令面板（Mac 上 `Cmd+Shift+P` 或 Windows/Linux 上 `Ctrl+Shift+P`）并输入"Claude Code"以查看 Claude Code 扩展的所有可用 VS Code 命令。

一些快捷键取决于哪个面板处于"聚焦"状态（接收键盘输入）。当你的光标在代码文件中时，编辑器处于聚焦状态。当你的光标在 Claude 的提示框中时，Claude 处于聚焦状态。使用 `Cmd+Esc` / `Ctrl+Esc` 在它们之间切换。

<Note>
  这些是控制扩展的 VS Code 命令。并非所有内置 Claude Code 命令都在扩展中可用。详见 [VS Code 扩展与 Claude Code CLI 对比](#vs-code-扩展与-claude-code-cli-对比)。
</Note>

| 命令                    | 快捷键                                                 | 描述                                                                                                                                                                                                   |
| -------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 聚焦输入                | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux)             | 在编辑器和 Claude 之间切换焦点                                                                                                                                                                        |
| 在侧边栏中打开           | -                                                        | 在左侧边栏中打开 Claude                                                                                                                                                                               |
| 在终端中打开           | -                                                        | 以终端模式打开 Claude                                                                                                                                                                                  |
| 在新标签页中打开            | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | 将新对话作为编辑器标签页打开                                                                                                                                                                      |
| 在新窗口中打开         | -                                                        | 在单独的窗口中打开新对话                                                                                                                                                                  |
| 新建对话           | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux)                 | 开始新对话。需要 Claude 处于聚焦状态且 `enableNewConversationShortcut` 设置为 `true`                                                                                                     |
| 重新打开关闭的会话      | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux)     | 重新打开最近关闭的 Claude 会话标签页。当最后关闭的标签页不是 Claude 会话时，回退到 VS Code 的正常重新打开关闭编辑器。使用 `enableReopenClosedSessionShortcut` 禁用 |
| 插入 @-提及引用 | `Option+K` (Mac) / `Alt+K` (Windows/Linux)               | 插入对当前文件和选择的引用（需要编辑器处于聚焦状态）                                                                                                                          |
| 显示日志                  | -                                                        | 查看扩展调试日志                                                                                                                                                                                     |
| 注销                     | -                                                        | 注销你的 Anthropic 账户                                                                                                                                                                            |

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

扩展在 `vscode://anthropic.claude-code/open` 注册了一个 URI 处理器。用它从你自己的工具打开新的 Claude Code 标签页：shell 别名、浏览器书签小书签或任何可以打开 URL 的脚本。如果 VS Code 尚未运行，打开 URL 会先启动它。如果 VS Code 已在运行，URL 在当前聚焦的窗口中打开。

使用操作系统的 URL 打开器调用处理器。

<Tabs>
  <Tab title="macOS">
    ```bash theme={null}
    open "vscode://anthropic.claude-code/open"
    ```
  </Tab>

  <Tab title="Linux">
    ```bash theme={null}
    xdg-open "vscode://anthropic.claude-code/open"
    ```
  </Tab>

  <Tab title="Windows">
    在 PowerShell 中：

    ```powershell theme={null}
    Start-Process "vscode://anthropic.claude-code/open"
    ```

    在 `cmd.exe` 中，`start` 将其第一个带引号的参数视为窗口标题，因此在 URL 前传递空标题：

    ```cmd theme={null}
    start "" "vscode://anthropic.claude-code/open"
    ```
  </Tab>
</Tabs>

处理器接受两个可选查询参数：

| 参数 | 描述                                                                                                                                                                                                                                                                                                                                                                    |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `prompt`  | 要在提示框中预填的文本。必须是 URL 编码的。提示会被预填但不会自动提交。                                                                                                                                                                                                                                                             |
| `session` | 要恢复的会话 ID，而非开始新对话。该会话必须属于 VS Code 中当前打开的工作区。如果未找到会话，则开始全新对话。如果会话已在标签页中打开，则聚焦该标签页。要以编程方式捕获会话 ID，请参阅[继续对话](/en/headless#continue-conversations)。 |

例如，打开预填了"review my changes"的标签页：

```text theme={null}
vscode://anthropic.claude-code/open?prompt=review%20my%20changes
```

要启动终端会话而非 VS Code 标签页，请使用 CLI 的 `claude-cli://` 处理器。参见[从链接启动会话](/en/deep-links)。

## 配置设置

扩展有两种类型的设置：

* **VS Code 中的扩展设置**：控制扩展在 VS Code 中的行为。使用 `Cmd+,`（Mac）或 `Ctrl+,`（Windows/Linux）打开，然后转到 Extensions → Claude Code。你也可以输入 `/` 并选择 **General Config** 打开设置。
* **`~/.claude/settings.json` 中的 Claude Code 设置**：在扩展和 CLI 之间共享。用于允许的命令、环境变量、钩子和 MCP 服务器。详见[设置](/en/settings)。

<Tip>
  在你的 `settings.json` 中添加 `"$schema": "https://json.schemastore.org/claude-code-settings.json"` 以在 VS Code 中直接获得所有可用设置的自动补全和内联验证。
</Tip>

### 扩展设置

| 设置                             | 默认值   | 描述                                                                                                                                                                                                                                                                                                                                                         |
| ----------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `useTerminal`                       | `false`   | 以终端模式而非图形面板启动 Claude                                                                                                                                                                                                                                                                                                           |
| `initialPermissionMode`             | `default` | 控制新对话的审批提示：`default`、`plan`、`acceptEdits` 或 `bypassPermissions`。参见[权限模式](/en/permission-modes)                                                                                                                                                                                                            |
| `preferredLocation`                 | `panel`   | Claude 打开的位置：`sidebar`（右侧）或 `panel`（新标签页）                                                                                                                                                                                                                                                                                                          |
| `autosave`                          | `true`    | 在 Claude 读取或写入文件前自动保存                                                                                                                                                                                                                                                                                                                  |
| `useCtrlEnterToSend`                | `false`   | 使用 Ctrl/Cmd+Enter 代替 Enter 发送提示                                                                                                                                                                                                                                                                                                                 |
| `enableNewConversationShortcut`     | `false`   | 启用 Cmd/Ctrl+N 开始新对话                                                                                                                                                                                                                                                                                                                       |
| `enableReopenClosedSessionShortcut` | `true`    | 使用 Cmd/Ctrl+Shift+T 重新打开最近关闭的 Claude 会话标签页。当最后关闭的标签页不是 Claude 会话时，快捷键改为运行 VS Code 的正常重新打开关闭编辑器命令                                                                                                                                                              |
| `hideOnboarding`                    | `false`   | 隐藏入门清单（毕业帽图标）                                                                                                                                                                                                                                                                                                                 |
| `respectGitIgnore`                  | `true`    | 从文件搜索中排除 .gitignore 模式                                                                                                                                                                                                                                                                                                                      |
| `usePythonEnvironment`              | `true`    | 运行 Claude 时激活工作区的 Python 环境。需要 Python 扩展                                                                                                                                                                                                                                                                     |
| `environmentVariables`              | `[]`      | 为 Claude 进程设置环境变量。共享配置请改用 Claude Code 设置                                                                                                                                                                                                                                                               |
| `disableLoginPrompt`                | `false`   | 跳过认证提示（用于第三方提供商设置）                                                                                                                                                                                                                                                                                                       |
| `allowDangerouslySkipPermissions`   | `false`   | 在模式选择器中添加[自动模式](/en/permission-modes#eliminate-prompts-with-auto-mode)和绕过权限。自动模式有[计划、管理员、模型和提供商要求](/en/permission-modes#eliminate-prompts-with-auto-mode)，因此即使开启此开关也可能不可用。仅在无互联网访问的沙箱中使用绕过权限 |
| `claudeProcessWrapper`              | -         | 用于启动 Claude 进程的可执行文件。存在时捆绑的二进制路径作为参数传递。如果扩展构建未包含你平台的二进制文件，将其设置为单独安装的 `claude` 二进制文件                                                                                                                                       |

## VS Code 扩展与 Claude Code CLI 对比

Claude Code 既可作为 VS Code 扩展（图形面板）也可作为 CLI（终端中的命令行界面）使用。某些功能仅在 CLI 中可用。如果你需要 CLI 专属功能，在 VS Code 的集成终端中运行 `claude`。

| 功能             | CLI                 | VS Code 扩展                                                                    |
| ------------------- | ------------------- | ------------------------------------------------------------------------------------ |
| 命令和技能 | [全部](/en/commands) | 子集（输入 `/` 查看可用）                                                   |
| MCP 服务器配置   | 是                 | 部分（通过 CLI 添加服务器；在聊天面板中使用 `/mcp` 管理现有服务器） |
| 检查点         | 是                 | 是                                                                                  |
| `!` bash 快捷方式   | 是                 | 否                                                                                   |
| 标签页补全      | 是                 | 否                                                                                   |

### 使用检查点回退

VS Code 扩展支持检查点，它跟踪 Claude 的文件编辑并让你回退到之前的状态。将鼠标悬停在任何消息上以显示回退按钮，然后从三个选项中选择：

* **从此处分叉对话**：从此消息开始新的对话分支，同时保持所有代码更改不变
* **将代码回退到此处**：将文件更改恢复到对话中的此点，同时保持完整的对话历史
* **分叉对话并回退代码**：开始新的对话分支并将文件更改恢复到此点

有关检查点工作原理及其限制的完整详情，请参阅[检查点](/en/checkpointing)。

### 在 VS Code 中运行 CLI

要在 VS Code 中使用 CLI，打开集成终端（Windows/Linux 上 `` Ctrl+` `` 或 Mac 上 `` Cmd+` ``）并运行 `claude`。CLI 自动与你的 IDE 集成，提供差异查看和诊断共享等功能。

如果使用外部终端，在 Claude Code 内运行 `/ide` 以将其连接到 VS Code。

### 在扩展和 CLI 之间切换

扩展和 CLI 共享相同的对话历史。要在 CLI 中继续扩展对话，在终端中运行 `claude --resume`。这会打开一个交互式选择器，你可以搜索和选择你的对话。

### 在提示中包含终端输出

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

### 监控后台进程

当 Claude 运行长时间运行的命令时，扩展在状态栏中显示进度。但是，与 CLI 相比，后台任务的可见性有限。为了更好的可见性，让 Claude 输出命令以便你可以在 VS Code 的集成终端中运行它。

### 使用 MCP 连接到外部工具

MCP（模型上下文协议）服务器让 Claude 可以访问外部工具、数据库和 API。

要添加 MCP 服务器，打开集成终端（`` Ctrl+` `` 或 `` Cmd+` ``）并运行 `claude mcp add`。以下示例添加 GitHub 的远程 MCP 服务器，使用作为标头传递的[个人访问令牌](https://github.com/settings/personal-access-tokens)进行认证：

```bash theme={null}
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
  --header "Authorization: Bearer YOUR_GITHUB_PAT"
```

配置完成后，让 Claude 使用这些工具（例如"Review PR #456"）。

要在不离开 VS Code 的情况下管理 MCP 服务器，在聊天面板中输入 `/mcp`。MCP 管理对话框让你启用或禁用服务器、重新连接到服务器以及管理 OAuth 认证。有关可用服务器，请参阅 [MCP 文档](/en/mcp)。

## 使用 git 工作

Claude Code 与 git 集成，直接在 VS Code 中帮助版本控制工作流。让 Claude 提交更改、创建拉取请求或跨分支工作。

### 创建提交和拉取请求

Claude 可以暂存更改、编写提交消息并根据你的工作创建拉取请求：

```text theme={null}
> commit my changes with a descriptive message
> create a pr for this feature
> summarize the changes I've made to the auth module
```

创建拉取请求时，Claude 根据实际代码更改生成描述，并可以添加关于测试或实现决策的上下文。

### 使用 git 工作树进行并行任务

使用 `--worktree`（`-w`）标志在具有自己文件和分支的隔离工作树中启动 Claude：

```bash theme={null}
claude --worktree feature-auth
```

每个工作树维护独立的文件状态，同时共享 git 历史。这防止 Claude 实例在处理不同任务时相互干扰。更多详情，请参阅[使用 Git 工作树运行并行会话](/en/worktrees)。

## 使用第三方提供商

默认情况下，Claude Code 直接连接到 Anthropic 的 API。如果你的组织使用 Amazon Bedrock、Google Vertex AI 或 Microsoft Foundry 访问 Claude，请配置扩展改用你的提供商：

<Steps>
  <Step title="禁用登录提示">
    打开[禁用登录提示设置](vscode://settings/claudeCode.disableLoginPrompt)并勾选复选框。

    你也可以打开 VS Code 设置（Mac 上 `Cmd+,` 或 Windows/Linux 上 `Ctrl+,`），搜索"Claude Code login"，然后勾选 **Disable Login Prompt**。
  </Step>

  <Step title="配置你的提供商">
    按照你的提供商的设置指南操作：

    * [Amazon Bedrock 上的 Claude Code](/en/amazon-bedrock)
    * [Google Vertex AI 上的 Claude Code](/en/google-vertex-ai)
    * [Microsoft Foundry 上的 Claude Code](/en/microsoft-foundry)

    这些指南涵盖在 `~/.claude/settings.json` 中配置你的提供商，确保你的设置在 VS Code 扩展和 CLI 之间共享。
  </Step>
</Steps>

## 安全和隐私

你的代码保持私密。Claude Code 处理你的代码以提供协助，但不会用它来训练模型。有关数据处理和如何选择退出日志记录的详情，请参阅[数据和隐私](/en/data-usage)。

启用自动编辑权限后，Claude Code 可以修改 VS Code 配置文件（如 `settings.json` 或 `tasks.json`），VS Code 可能会自动执行这些文件。为了在处理不受信任的代码时降低风险：

* 为不受信任的工作区启用 [VS Code 受限模式](https://code.visualstudio.com/docs/editor/workspace-trust#_restricted-mode)
* 使用手动审批模式代替自动接受编辑
* 在接受之前仔细审查更改

### 内置 IDE MCP 服务器

扩展激活时，它运行一个本地 MCP 服务器，CLI 自动连接到该服务器。这就是 CLI 在 VS Code 的原生差异查看器中打开差异、为你当前选择的 `@`-提及读取内容，以及当你在 Jupyter notebook 中工作时请求 VS Code 执行单元格的方式。

该服务器名为 `ide`，从 `/mcp` 中隐藏，因为没有什么可配置的。但是，如果你的组织使用 `PreToolUse` 钩子来允许列表 MCP 工具，你需要知道它的存在。

**选择和打开文件上下文。** 连接时，CLI 在你发送的每个提示中包含你当前的编辑器选择和活动文件的路径作为上下文。记录中会显示 `⧉ Selected N lines from <file>` 行。要排除敏感文件如 `.env`，为其路径添加 [`Read` 拒绝规则](/en/permissions#read-and-edit)。匹配的拒绝规则会阻止该文件的选中文本和打开文件通知到达 Claude。

**传输和认证。** 服务器绑定到 `127.0.0.1` 的随机高端口，不可从其他机器访问。每次扩展激活生成一个新的随机认证令牌，CLI 必须出示该令牌才能连接。令牌以 `0600` 权限写入 `~/.claude/ide/` 下的锁定文件，目录权限为 `0700`，因此只有运行 VS Code 的用户可以读取它。

**暴露给模型的工具。** 服务器托管十几个工具，但只有两个对模型可见。其余是 CLI 用于自身 UI 的内部 RPC - 打开差异、读取选择、保存文件 - 并在工具列表到达 Claude 之前被过滤掉。

| 工具名称（钩子中可见） | 功能                                                                                                              | 写入？ |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------- |
| `mcp__ide__getDiagnostics`   | 返回语言服务器诊断 - VS Code 问题面板中的错误和警告。可选择限定到单个文件 | 否      |
| `mcp__ide__executeCode`      | 在活动 Jupyter notebook 的内核中运行 Python 代码。参见下方确认流程                                    | 是     |

**Jupyter 执行始终先询问。** `mcp__ide__executeCode` 不能静默运行任何内容。每次调用时，代码作为新单元格插入活动 notebook 的末尾，VS Code 将其滚动到视图中，原生快速选择询问你是**执行**还是**取消**。取消 - 或用 `Esc` 关闭选择器 - 会向 Claude 返回错误且不运行任何内容。当没有活动 notebook、Jupyter 扩展（`ms-toolsai.jupyter`）未安装或内核不是 Python 时，该工具也会直接拒绝。

<Note>
  快速选择确认与 `PreToolUse` 钩子是分开的。`mcp__ide__executeCode` 的允许列表条目让 Claude *提议*运行单元格；VS Code 内部的快速选择是让它*实际*运行的机制。
</Note>

<a id="troubleshooting" />

## 修复常见问题

### 扩展无法安装

* 确保你有兼容版本的 VS Code（1.98.0 或更高）
* 检查 VS Code 是否有安装扩展的权限
* 尝试直接从 [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code) 安装

### Spark 图标不可见

Spark 图标在你打开文件时出现在**编辑器工具栏**（编辑器右上角）。如果你看不到它：

1. **打开文件**：该图标需要打开文件。仅打开文件夹是不够的
2. **检查 VS Code 版本**：需要 1.98.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 [键盘快捷键编辑器](https://code.visualstudio.com/docs/configure/keybindings)（`Cmd+K Cmd+S`），搜索 `Claude Code: Focus input`，然后分配新的绑定。

### Claude Code 从不响应

如果 Claude Code 不响应你的提示：

1. **检查你的互联网连接**：确保你有稳定的互联网连接
2. **开始新对话**：尝试开始全新对话以查看问题是否持续
3. **尝试 CLI**：从终端运行 `claude` 以查看是否获得更详细的错误消息

如果问题持续，[在 GitHub 上提交问题](https://github.com/anthropics/claude-code/issues)并附上错误详情。

## 卸载扩展

要卸载 Claude Code 扩展：

1. 打开扩展视图（Mac 上 `Cmd+Shift+X` 或 Windows/Linux 上 `Ctrl+Shift+X`）
2. 搜索"Claude Code"
3. 点击**卸载**

要同时移除扩展数据并重置所有设置：

```bash theme={null}
rm -rf ~/.vscode/globalStorage/anthropic.claude-code
```

如需更多帮助，请参阅[故障排除指南](/en/troubleshooting)。

## 后续步骤

现在你已在 VS Code 中设置了 Claude Code：

* [探索常见工作流](/en/common-workflows)以充分利用 Claude Code
* [设置 MCP 服务器](/en/mcp)以使用外部工具扩展 Claude 的功能。使用 CLI 添加服务器，然后在聊天面板中使用 `/mcp` 管理它们
* [配置 Claude Code 设置](/en/settings)以自定义允许的命令、钩子等。这些设置在扩展和 CLI 之间共享