10 10
11Каждый плагин подключает Claude Code к языковому серверу для одного языка через Language Server Protocol (LSP). Вы устанавливаете плагин из официального marketplace Anthropic и двоичный файл языкового сервера на вашей машине.11Каждый плагин подключает Claude Code к языковому серверу для одного языка через Language Server Protocol (LSP). Вы устанавливаете плагин из официального marketplace Anthropic и двоичный файл языкового сервера на вашей машине.
12 12
13<Note>13> [!NOTE]
14 Code intelligence plugins работают в сеансах терминала. В [облачных сеансах](/docs/ru/claude-code-on-the-web) Claude Code не запускает языковые серверы плагинов, поэтому Claude не получает диагностику или навигацию по коду там. Чтобы написать свой собственный плагин языкового сервера или подключить языковой сервер, у которого нет плагина, см. [LSP servers in plugin components](/docs/ru/plugins/components#lsp-servers).14>
15</Note>15> Code intelligence plugins работают в сеансах терминала. В [облачных сеансах](/docs/ru/claude-code-on-the-web) Claude Code не запускает языковые серверы плагинов, поэтому Claude не получает диагностику или навигацию по коду там. Чтобы написать свой собственный плагин языкового сервера или подключить языковой сервер, у которого нет плагина, см. [LSP servers in plugin components](/docs/ru/plugins/components#lsp-servers).
16 16
17Чтобы начать работу, найдите свой язык в таблице в разделе [Установка плагина code intelligence](#install-a-code-intelligence-plugin). Плагины в этой таблице поступают из [официального marketplace плагинов](/docs/ru/plugins/anthropic-marketplaces) Anthropic.17Чтобы начать работу, найдите свой язык в таблице в разделе [Установка плагина code intelligence](#install-a-code-intelligence-plugin). Плагины в этой таблице поступают из [официального marketplace плагинов](/docs/ru/plugins/anthropic-marketplaces) Anthropic.
18 18
19Если вы уже видели диалог **LSP plugin recommendation**, см. [Принять или отклонить диалог рекомендации](#accept-or-dismiss-the-recommendation-dialog), чтобы узнать, что делает каждый выбор.19Если вы уже видели диалог **LSP plugin recommendation**, см. [Принять или отклонить диалог рекомендации](#accept-or-dismiss-the-recommendation-dialog), чтобы узнать, что делает каждый выбор.
20 20
21<h2 id="install-a-code-intelligence-plugin">21## Установка плагина code intelligence
22 Установка плагина code intelligence
23</h2>
24 22
25Плагин code intelligence сообщает Claude Code, какая команда запускает языковой сервер и какие расширения файлов он обрабатывает. Он не включает языковой сервер. Сначала установите двоичный файл языкового сервера, затем плагин, затем подтвердите, что сервер запускается.23Плагин code intelligence сообщает 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 и который официальный marketplace указывает.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 и который официальный marketplace указывает.
50 46
51 После установки двоичного файла подтвердите, что он находится в `PATH` оболочки, из которой вы запускаете `claude`, например с помощью `which typescript-language-server` или `Get-Command typescript-language-server` в PowerShell.47Чтобы найти команду, которая устанавливает двоичный файл, перейдите по ссылке плагина в таблице на его README. Для TypeScript эта команда: `npm install -g typescript-language-server typescript`.
52 </Step>
53 48
54 <Step title="Установка плагина">49После установки двоичного файла подтвердите, что он находится в `PATH` оболочки, из которой вы запускаете `claude`, например с помощью `which typescript-language-server` или `Get-Command typescript-language-server` в PowerShell.
55 В расширении VS Code или настольном приложении вместо этого шага следуйте инструкциям из раздела [Установка плагина](/docs/ru/plugins/install#install-a-plugin). В терминале запустите Claude Code командой `claude`, затем введите в его промпте следующее, заменив `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/ru/plugins/troubleshooting#marketplace-claude-plugins-official-not-found). Чтобы контролировать, где устанавливается плагин, или запустить установку из вашей оболочки вместо Claude Code, см. [Установка плагинов](/docs/ru/plugins/install).53В расширении VS Code или настольном приложении вместо этого шага следуйте инструкциям из раздела [Установка плагина](/docs/ru/plugins/install#install-a-plugin). В терминале запустите Claude Code командой `claude`, затем введите в его промпте следующее, заменив `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/ru/plugins/troubleshooting#marketplace-claude-plugins-official-not-found). Чтобы контролировать, где устанавливается плагин, или запустить установку из вашей оболочки вместо Claude Code, см. [Установка плагинов](/docs/ru/plugins/install).
68 * **Строка диагностики не появляется**: запустите `/plugin` и откройте вкладку **Errors**. Строка, читающая `Executable not found in $PATH: "<binary>"`, называет двоичный файл для установки. Если вкладка не содержит такую строку, см. [Устранение неполадок code intelligence](#troubleshoot-code-intelligence).
69 60
70 После установки отсутствующего двоичного файла Claude Code повторит попытку в следующий раз, когда Claude отредактирует соответствующий файл. Если вы установили двоичный файл в каталог, который не находится в `PATH` оболочки, из которой вы запустили `claude`, запустите новый сеанс из оболочки, где он находится.61**3. Подтверждение запуска сервера**
71 </Step>
72</Steps>
73 62
74<h2 id="see-what-claude-gains">63Языковой сервер запускается в первый раз, когда Claude редактирует файл с одним из расширений плагина. Чтобы увидеть это в действии, попросите Claude внести ошибку типа в файл этого языка, а затем исправить её. Затем проверьте разговор на наличие строки диагностики:
75 Посмотрите, что получает Claude64
76</h2>65* **Появляется строка диагностики**: `Found N new diagnostic issues in M files (ctrl+o to expand)` под редактированием, которое внесло ошибку, означает, что сервер запустился.
66* **Строка диагностики не появляется**: запустите `/plugin` и откройте вкладку **Errors**. Строка, читающая `Executable not found in $PATH: "<binary>"`, называет двоичный файл для установки. Если вкладка не содержит такую строку, см. [Устранение неполадок code intelligence](#troubleshoot-code-intelligence).
67
68После установки отсутствующего двоичного файла Claude Code повторит попытку в следующий раз, когда Claude отредактирует соответствующий файл. Если вы установили двоичный файл в каталог, который не находится в `PATH` оболочки, из которой вы запустили `claude`, запустите новый сеанс из оболочки, где он находится.
69
70## Посмотрите, что получает Claude
77 71
78С запущенным языковым сервером Claude получает диагностику и навигацию по коду:72С запущенным языковым сервером Claude получает диагностику и навигацию по коду:
79 73
80* **Диагностика после редактирования**: каждый раз, когда Claude редактирует или записывает файл, который обрабатывает сервер, Claude получает ошибки и предупреждения, которые сообщает сервер. Он видит ошибку типа, отсутствующий импорт или синтаксическую ошибку, которую он внёс, без запуска компилятора.74* **Диагностика после редактирования**: каждый раз, когда Claude редактирует или записывает файл, который обрабатывает сервер, Claude получает ошибки и предупреждения, которые сообщает сервер. Он видит ошибку типа, отсутствующий импорт или синтаксическую ошибку, которую он внёс, без запуска компилятора.
81* **Навигация по коду**: Claude получает инструмент `LSP`, который ищет символы через сервер вместо поиска текста. Инструмент доступен только для чтения. Для того, что Claude может искать с помощью инструмента и как разрешения применяются к нему, см. [LSP tool behavior](/docs/ru/tools-reference#lsp-tool-behavior).75* **Навигация по коду**: Claude получает инструмент `LSP`, который ищет символы через сервер вместо поиска текста. Инструмент доступен только для чтения. Для того, что Claude может искать с помощью инструмента и как разрешения применяются к нему, см. [LSP tool behavior](/docs/ru/tools-reference#lsp-tool-behavior).
82 76
83<h3 id="read-the-diagnostics-yourself">77### Прочитайте диагностику самостоятельно
84 Прочитайте диагностику самостоятельно
85</h3>
86 78
87После того как Claude отредактирует файл, который обрабатывает сервер, разговор показывает только сводку `Found N new diagnostic issues`. Чтобы прочитать сами проблемы, нажмите **Ctrl+O**.79После того как Claude отредактирует файл, который обрабатывает сервер, разговор показывает только сводку `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 plugin recommendation**.83Если двоичный файл языкового сервера уже находится в вашем `PATH` и плагин, который его использует, не установлен, Claude Code предлагает установить плагин для вас в диалоге с названием **LSP plugin recommendation**.
94 84
95<h3 id="when-the-recommendation-dialog-appears">85### Когда появляется диалог рекомендации
96 Когда появляется диалог рекомендации
97</h3>
98 86
99Диалог **LSP plugin recommendation** может появиться после того, как Claude отредактирует файл. Эти условия определяют, появляется ли он и какой плагин он предлагает:87Диалог **LSP plugin recommendation** может появиться после того, как Claude отредактирует файл. Эти условия определяют, появляется ли он и какой плагин он предлагает:
100 88
103* **Один раз за сеанс**: диалог появляется максимум один раз в сеансе, для первого соответствующего файла, который редактирует Claude.91* **Один раз за сеанс**: диалог появляется максимум один раз в сеансе, для первого соответствующего файла, который редактирует Claude.
104* **Не для облачных сеансов**: диалог никогда не появляется, когда ваш терминал подключен к облачному сеансу, например к тому, который вы запустили с помощью [`claude --cloud`](/docs/ru/claude-code-on-the-web#from-terminal-to-cloud).92* **Не для облачных сеансов**: диалог никогда не появляется, когда ваш терминал подключен к облачному сеансу, например к тому, который вы запустили с помощью [`claude --cloud`](/docs/ru/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 plugin recommendation** называет плагин и предлагает эти варианты:96Диалог **LSP plugin recommendation** называет плагин и предлагает эти варианты:
111 97
116 102
117Если вы не выберете опцию, Claude Code закроет её через 30 секунд и будет считать это игнорированием. Счёт ведётся между сеансами. После пяти игнорируемых диалогов Claude Code перестаёт рекомендовать плагины, как если бы вы выбрали **Disable all LSP recommendations**.103Если вы не выберете опцию, Claude Code закроет её через 30 секунд и будет считать это игнорированием. Счёт ведётся между сеансами. После пяти игнорируемых диалогов Claude Code перестаёт рекомендовать плагины, как если бы вы выбрали **Disable all LSP recommendations**.
118 104
119<h3 id="turn-recommendations-back-on">105### Включить рекомендации снова
120 Включить рекомендации снова
121</h3>
122 106
123Диалог **LSP plugin recommendation** перестаёт появляться после того, как вы выберете **Disable all LSP recommendations** или игнорируете его пять раз.107Диалог **LSP plugin recommendation** перестаёт появляться после того, как вы выберете **Disable all LSP recommendations** или игнорируете его пять раз.
124 108
125* **Отключено или игнорировано пять раз**: чтобы включить его снова в любом случае, удалите ключи `lspRecommendationDisabled` и `lspRecommendationIgnoredCount` из `~/.claude.json`, собственного файла конфигурации Claude Code.109* **Отключено или игнорировано пять раз**: чтобы включить его снова в любом случае, удалите ключи `lspRecommendationDisabled` и `lspRecommendationIgnoredCount` из `~/.claude.json`, собственного файла конфигурации Claude Code.
126* **Never for this plugin**: если вы выбрали **Never for this plugin** и хотите, чтобы этот плагин был предложен снова, удалите его идентификатор `name@marketplace` из списка `lspRecommendationNeverPlugins` в том же файле.110* **Never for this plugin**: если вы выбрали **Never for this plugin** и хотите, чтобы этот плагин был предложен снова, удалите его идентификатор `name@marketplace` из списка `lspRecommendationNeverPlugins` в том же файле.
127 111
128<h2 id="troubleshoot-code-intelligence">112## Устранение неполадок code intelligence
129 Устранение неполадок code intelligence
130</h2>
131 113
132Страница устранения неполадок плагинов охватывает симптомы, специфичные для плагинов code intelligence, в разделе [Language server doesn't start, uses too much memory, or reports wrong diagnostics](/docs/ru/plugins/troubleshooting#language-server-doesnt-start):114Страница устранения неполадок плагинов охватывает симптомы, специфичные для плагинов code intelligence, в разделе [Language server doesn't start, uses too much memory, or reports wrong diagnostics](/docs/ru/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 servers in plugin components](/docs/ru/plugins/components#lsp-servers).127Для полей файла и рабочего примера см. [LSP servers in plugin components](/docs/ru/plugins/components#lsp-servers).
148 128
149<h2 id="next-steps">129## Следующие шаги
150 Следующие шаги
151</h2>
152 130
153* [LSP servers in plugin components](/docs/ru/plugins/components#lsp-servers): напишите `.lsp.json` для языкового сервера, у которого нет официального плагина131* [LSP servers in plugin components](/docs/ru/plugins/components#lsp-servers): напишите `.lsp.json` для языкового сервера, у которого нет официального плагина
154* [Install and manage plugins](/docs/ru/plugins/install): области, обновления и удаление132* [Install and manage plugins](/docs/ru/plugins/install): области, обновления и удаление