10 10
11每个插件通过语言服务器协议 (LSP) 将 Claude Code 连接到一种语言的语言服务器。您从 Anthropic 的官方市场安装插件,并在您的机器上安装语言服务器二进制文件。11每个插件通过语言服务器协议 (LSP) 将 Claude Code 连接到一种语言的语言服务器。您从 Anthropic 的官方市场安装插件,并在您的机器上安装语言服务器二进制文件。
12 12
13<Note>13> [!NOTE]
14 代码智能插件在终端会话中工作。在 [云会话](/docs/zh-CN/claude-code-on-the-web) 中,Claude Code 不启动插件语言服务器,因此 Claude 在那里无法获得诊断或代码导航。要编写自己的语言服务器插件,或连接没有插件的语言服务器,请参阅 [插件组件中的 LSP 服务器](/docs/zh-CN/plugins/components#lsp-servers)。14>
15</Note>15> 代码智能插件在终端会话中工作。在 [云会话](/docs/zh-CN/claude-code-on-the-web) 中,Claude Code 不启动插件语言服务器,因此 Claude 在那里无法获得诊断或代码导航。要编写自己的语言服务器插件,或连接没有插件的语言服务器,请参阅 [插件组件中的 LSP 服务器](/docs/zh-CN/plugins/components#lsp-servers)。
16 16
17要开始使用,请在 [安装代码智能插件](#install-a-code-intelligence-plugin) 下的表格中找到您的语言。该表格中的插件来自 Anthropic 的 [官方插件市场](/docs/zh-CN/plugins/anthropic-marketplaces)。17要开始使用,请在 [安装代码智能插件](#install-a-code-intelligence-plugin) 下的表格中找到您的语言。该表格中的插件来自 Anthropic 的 [官方插件市场](/docs/zh-CN/plugins/anthropic-marketplaces)。
18 18
19如果您已经看到 **LSP 插件推荐** 对话框,请参阅 [接受或关闭推荐对话框](#accept-or-dismiss-the-recommendation-dialog) 了解每个选择的作用。19如果您已经看到 **LSP 插件推荐** 对话框,请参阅 [接受或关闭推荐对话框](#accept-or-dismiss-the-recommendation-dialog) 了解每个选择的作用。
20 20
21<h2 id="install-a-code-intelligence-plugin">21## 安装代码智能插件
22 安装代码智能插件
23</h2>
24 22
25代码智能插件告诉 Claude Code 哪个命令启动语言服务器以及它处理哪些文件扩展名。它不包括语言服务器。首先安装语言服务器二进制文件,然后安装插件,最后确认服务器启动。23代码智能插件告诉 Claude Code 哪个命令启动语言服务器以及它处理哪些文件扩展名。它不包括语言服务器。首先安装语言服务器二进制文件,然后安装插件,最后确认服务器启动。
26 24
27<Steps>25**1. 安装语言服务器二进制文件**
28 <Step title="安装语言服务器二进制文件">
29 在下表中找到您的语言并安装其行中的二进制文件。如果您的语言未列出,请参阅[添加没有官方插件的语言](#add-a-language-without-an-official-plugin)。
30 26
31 | 语言 | 插件 | 二进制文件 |27在下表中找到您的语言并安装其行中的二进制文件。如果您的语言未列出,请参阅[添加没有官方插件的语言](#add-a-language-without-an-official-plugin)。
32 | :- | :- | :- |
33 | C/C++ | [`clangd-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/clangd-lsp) | `clangd` |
34 | C# | [`csharp-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/csharp-lsp) | `csharp-ls` |
35 | Go | [`gopls-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/gopls-lsp) | `gopls` |
36 | Java | [`jdtls-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/jdtls-lsp) | `jdtls` |
37 | Kotlin | [`kotlin-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/kotlin-lsp) | `kotlin-lsp` |
38 | Liquid | [`liquid-lsp`](https://github.com/Shopify/liquid-skills/tree/main/plugins/liquid-lsp) | `shopify`,来自 Shopify CLI |
39 | Lua | [`lua-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/lua-lsp) | `lua-language-server` |
40 | PHP | [`php-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/php-lsp) | `intelephense` |
41 | Python | [`pyright-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/pyright-lsp) | `pyright-langserver` |
42 | Ruby | [`ruby-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/ruby-lsp) | `ruby-lsp` |
43 | Rust | [`rust-analyzer-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/rust-analyzer-lsp) | `rust-analyzer` |
44 | Swift | [`swift-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/swift-lsp) | `sourcekit-lsp` |
45 | TypeScript 和 JavaScript | [`typescript-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/typescript-lsp) | `typescript-language-server` |
46 28
47 Anthropic 维护表格中的每个插件,除了 `liquid-lsp`,由 Shopify 维护,官方市场列出。29| 语言 | 插件 | 二进制文件 |
30| :- | :- | :- |
31| C/C++ | [`clangd-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/clangd-lsp) | `clangd` |
32| C# | [`csharp-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/csharp-lsp) | `csharp-ls` |
33| Go | [`gopls-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/gopls-lsp) | `gopls` |
34| Java | [`jdtls-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/jdtls-lsp) | `jdtls` |
35| Kotlin | [`kotlin-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/kotlin-lsp) | `kotlin-lsp` |
36| Liquid | [`liquid-lsp`](https://github.com/Shopify/liquid-skills/tree/main/plugins/liquid-lsp) | `shopify`,来自 Shopify CLI |
37| Lua | [`lua-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/lua-lsp) | `lua-language-server` |
38| PHP | [`php-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/php-lsp) | `intelephense` |
39| Python | [`pyright-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/pyright-lsp) | `pyright-langserver` |
40| Ruby | [`ruby-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/ruby-lsp) | `ruby-lsp` |
41| Rust | [`rust-analyzer-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/rust-analyzer-lsp) | `rust-analyzer` |
42| Swift | [`swift-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/swift-lsp) | `sourcekit-lsp` |
43| TypeScript 和 JavaScript | [`typescript-lsp`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/typescript-lsp) | `typescript-language-server` |
48 44
49 要找到安装二进制文件的命令,请按照表格中的插件链接进入其 README。对于 TypeScript,该命令是 `npm install -g typescript-language-server typescript`。45Anthropic 维护表格中的每个插件,除了 `liquid-lsp`,由 Shopify 维护,官方市场列出。
50 46
51 安装二进制文件后,确认它在您启动 `claude` 的 shell 的 `PATH` 上,例如使用 `which typescript-language-server`,或在 PowerShell 中使用 `Get-Command typescript-language-server`。47要找到安装二进制文件的命令,请按照表格中的插件链接进入其 README。对于 TypeScript,该命令是 `npm install -g typescript-language-server typescript`。
52 </Step>
53 48
54 <Step title="安装插件">49安装二进制文件后,确认它在您启动 `claude` 的 shell 的 `PATH` 上,例如使用 `which typescript-language-server`,或在 PowerShell 中使用 `Get-Command typescript-language-server`。
55 在 VS Code 扩展或桌面应用中,请按照[安装插件](/docs/zh-CN/plugins/install#install-a-plugin)操作,而不是执行此步骤。在终端中,运行 `claude` 启动 Claude Code,然后在其输入框中输入以下内容,将 `typescript-lsp` 替换为步骤 1 表格中为您的语言列出的插件:
56 50
57 ```51**2. 安装插件**
58 /plugin install typescript-lsp@claude-plugins-official
59 ```
60 52
61 确认消息会说明插件现在是否处于活动状态或需要 `/reload-plugins`。如果安装失败并显示 `Marketplace "claude-plugins-official" not found`,请参阅[该错误的故障排除条目](/docs/zh-CN/plugins/troubleshooting#marketplace-claude-plugins-official-not-found)。要控制插件的安装位置,或从 shell 而不是在 Claude Code 内运行安装,请参阅[安装插件](/docs/zh-CN/plugins/install)。53在 VS Code 扩展或桌面应用中,请按照[安装插件](/docs/zh-CN/plugins/install#install-a-plugin)操作,而不是执行此步骤。在终端中,运行 `claude` 启动 Claude Code,然后在其输入框中输入以下内容,将 `typescript-lsp` 替换为步骤 1 表格中为您的语言列出的插件:
62 </Step>
63 54
64 <Step title="确认服务器启动">55```
65 语言服务器在 Claude 首次编辑具有插件扩展名之一的文件时启动。要查看其工作情况,请要求 Claude 在该语言的文件中引入类型错误,然后修复它。然后检查对话中的诊断行:56/plugin install typescript-lsp@claude-plugins-official
57```
66 58
67 * **诊断行出现**:编辑下方的 `Found N new diagnostic issues in M files (ctrl+o to expand)` 表示服务器已启动。59确认消息会说明插件现在是否处于活动状态或需要 `/reload-plugins`。如果安装失败并显示 `Marketplace "claude-plugins-official" not found`,请参阅[该错误的故障排除条目](/docs/zh-CN/plugins/troubleshooting#marketplace-claude-plugins-official-not-found)。要控制插件的安装位置,或从 shell 而不是在 Claude Code 内运行安装,请参阅[安装插件](/docs/zh-CN/plugins/install)。
68 * **没有诊断行出现**:运行 `/plugin` 并打开**错误**选项卡。读取 `Executable not found in $PATH: "<binary>"` 的行命名要安装的二进制文件。如果选项卡中没有这样的行,请参阅[故障排除代码智能](#troubleshoot-code-intelligence)。
69 60
70 安装缺失的二进制文件后,Claude Code 会在 Claude 下次编辑匹配文件时重试。如果您将二进制文件安装到不在您启动 `claude` 的 shell 的 `PATH` 上的目录中,请从 shell 启动新会话,其中它在 `PATH` 上。61**3. 确认服务器启动**
71 </Step>
72</Steps>
73 62
74<h2 id="see-what-claude-gains">63语言服务器在 Claude 首次编辑具有插件扩展名之一的文件时启动。要查看其工作情况,请要求 Claude 在该语言的文件中引入类型错误,然后修复它。然后检查对话中的诊断行:
75 查看 Claude 获得的功能64
76</h2>65* **诊断行出现**:编辑下方的 `Found N new diagnostic issues in M files (ctrl+o to expand)` 表示服务器已启动。
66* **没有诊断行出现**:运行 `/plugin` 并打开**错误**选项卡。读取 `Executable not found in $PATH: "<binary>"` 的行命名要安装的二进制文件。如果选项卡中没有这样的行,请参阅[故障排除代码智能](#troubleshoot-code-intelligence)。
67
68安装缺失的二进制文件后,Claude Code 会在 Claude 下次编辑匹配文件时重试。如果您将二进制文件安装到不在您启动 `claude` 的 shell 的 `PATH` 上的目录中,请从 shell 启动新会话,其中它在 `PATH` 上。
69
70## 查看 Claude 获得的功能
77 71
78运行语言服务器后,Claude 获得诊断和代码导航:72运行语言服务器后,Claude 获得诊断和代码导航:
79 73
80* **编辑后的诊断**:每次 Claude 编辑或写入服务器处理的文件时,Claude 都会获得服务器报告的错误和警告。它会看到它引入的类型错误、缺失导入或语法错误,而无需运行编译器。74* **编辑后的诊断**:每次 Claude 编辑或写入服务器处理的文件时,Claude 都会获得服务器报告的错误和警告。它会看到它引入的类型错误、缺失导入或语法错误,而无需运行编译器。
81* **代码导航**:Claude 获得一个 `LSP` 工具,通过服务器查找符号,而不是搜索文本。该工具是只读的。有关 Claude 可以使用该工具查找的内容以及权限如何应用于它,请参阅 [LSP 工具行为](/docs/zh-CN/tools-reference#lsp-tool-behavior)。75* **代码导航**:Claude 获得一个 `LSP` 工具,通过服务器查找符号,而不是搜索文本。该工具是只读的。有关 Claude 可以使用该工具查找的内容以及权限如何应用于它,请参阅 [LSP 工具行为](/docs/zh-CN/tools-reference#lsp-tool-behavior)。
82 76
83<h3 id="read-the-diagnostics-yourself">77### 自己阅读诊断
84 自己阅读诊断
85</h3>
86 78
87Claude 编辑服务器处理的文件后,对话仅显示 `Found N new diagnostic issues` 摘要。要阅读问题本身,请按 **Ctrl+O**。79Claude 编辑服务器处理的文件后,对话仅显示 `Found N new diagnostic issues` 摘要。要阅读问题本身,请按 **Ctrl+O**。
88 80
89<h2 id="accept-or-dismiss-the-recommendation-dialog">81## 接受或关闭推荐对话框
90 接受或关闭推荐对话框
91</h2>
92 82
93如果语言服务器二进制文件已在您的 `PATH` 上,但使用它的插件未安装,Claude Code 会在标题为 **LSP 插件推荐**的对话框中提供为您安装插件。83如果语言服务器二进制文件已在您的 `PATH` 上,但使用它的插件未安装,Claude Code 会在标题为 **LSP 插件推荐**的对话框中提供为您安装插件。
94 84
95<h3 id="when-the-recommendation-dialog-appears">85### 推荐对话框何时出现
96 推荐对话框何时出现
97</h3>
98 86
99**LSP 插件推荐**对话框可以在 Claude 编辑文件后出现。这些条件决定它是否出现以及它提供哪个插件:87**LSP 插件推荐**对话框可以在 Claude 编辑文件后出现。这些条件决定它是否出现以及它提供哪个插件:
100 88
103* **每个会话一次**:对话框在一个会话中最多出现一次,针对 Claude 编辑的第一个匹配文件。91* **每个会话一次**:对话框在一个会话中最多出现一次,针对 Claude 编辑的第一个匹配文件。
104* **不适用于云会话**:当您的终端连接到云会话(例如您使用 [`claude --cloud`](/docs/zh-CN/claude-code-on-the-web#from-terminal-to-cloud) 启动的会话)时,对话框永远不会出现。92* **不适用于云会话**:当您的终端连接到云会话(例如您使用 [`claude --cloud`](/docs/zh-CN/claude-code-on-the-web#from-terminal-to-cloud) 启动的会话)时,对话框永远不会出现。
105 93
106<h3 id="respond-to-the-recommendation-dialog">94### 响应推荐对话框
107 响应推荐对话框
108</h3>
109 95
110**LSP 插件推荐**对话框命名插件并提供以下选择:96**LSP 插件推荐**对话框命名插件并提供以下选择:
111 97
116 102
117如果您不选择选项,Claude Code 会在 30 秒后关闭它,并将其计为忽略。计数在会话中保持。忽略五个对话框后,Claude Code 停止推荐插件,与您选择**禁用所有 LSP 推荐**相同。103如果您不选择选项,Claude Code 会在 30 秒后关闭它,并将其计为忽略。计数在会话中保持。忽略五个对话框后,Claude Code 停止推荐插件,与您选择**禁用所有 LSP 推荐**相同。
118 104
119<h3 id="turn-recommendations-back-on">105### 重新打开推荐
120 重新打开推荐
121</h3>
122 106
123**LSP 插件推荐**对话框在您选择**禁用所有 LSP 推荐**或忽略它五次后停止出现。107**LSP 插件推荐**对话框在您选择**禁用所有 LSP 推荐**或忽略它五次后停止出现。
124 108
125* **禁用或忽略五次**:要在任一情况下重新打开它,请从 `~/.claude.json`(Claude Code 自己的配置文件)中删除 `lspRecommendationDisabled` 和 `lspRecommendationIgnoredCount` 键。109* **禁用或忽略五次**:要在任一情况下重新打开它,请从 `~/.claude.json`(Claude Code 自己的配置文件)中删除 `lspRecommendationDisabled` 和 `lspRecommendationIgnoredCount` 键。
126* **永不为此插件**:如果您选择了**永不为此插件**并希望再次提供该插件,请从同一文件中的 `lspRecommendationNeverPlugins` 列表中删除其 `name@marketplace` id。110* **永不为此插件**:如果您选择了**永不为此插件**并希望再次提供该插件,请从同一文件中的 `lspRecommendationNeverPlugins` 列表中删除其 `name@marketplace` id。
127 111
128<h2 id="troubleshoot-code-intelligence">112## 故障排除代码智能
129 故障排除代码智能
130</h2>
131 113
132插件故障排除页面在[语言服务器不启动、使用过多内存或报告错误诊断](/docs/zh-CN/plugins/troubleshooting#language-server-doesnt-start)下涵盖特定于代码智能插件的症状:114插件故障排除页面在[语言服务器不启动、使用过多内存或报告错误诊断](/docs/zh-CN/plugins/troubleshooting#language-server-doesnt-start)下涵盖特定于代码智能插件的症状:
133 115
135* **高内存使用**:当服务器索引项目时,内存使用增加。117* **高内存使用**:当服务器索引项目时,内存使用增加。
136* **monorepo 中的误报诊断**:诊断报告导入为未解决,但实际上已解决。118* **monorepo 中的误报诊断**:诊断报告导入为未解决,但实际上已解决。
137 119
138<h2 id="add-a-language-without-an-official-plugin">120## 添加没有官方插件的语言
139 添加没有官方插件的语言
140</h2>
141 121
142如果您的语言不在[官方插件表格](#install-a-code-intelligence-plugin)中,您仍然可以连接语言服务器。122如果您的语言不在[官方插件表格](#install-a-code-intelligence-plugin)中,您仍然可以连接语言服务器。
143 123
146 126
147有关文件的字段和实际示例,请参阅[插件组件中的 LSP 服务器](/docs/zh-CN/plugins/components#lsp-servers)。127有关文件的字段和实际示例,请参阅[插件组件中的 LSP 服务器](/docs/zh-CN/plugins/components#lsp-servers)。
148 128
149<h2 id="next-steps">129## 后续步骤
150 后续步骤
151</h2>
152 130
153* [插件组件中的 LSP 服务器](/docs/zh-CN/plugins/components#lsp-servers):为没有官方插件的语言服务器编写 `.lsp.json`131* [插件组件中的 LSP 服务器](/docs/zh-CN/plugins/components#lsp-servers):为没有官方插件的语言服务器编写 `.lsp.json`
154* [安装和管理插件](/docs/zh-CN/plugins/install):范围、更新和卸载132* [安装和管理插件](/docs/zh-CN/plugins/install):范围、更新和卸载