Команда AI for Devs подготовила перевод статьи о поддержке LSP в Claude Code. Начиная с версии 2.0.74 агент получил доступ к семантике кода: переходы к определениям, поиск ссылок и иерархия вызовов. Это заметно ускоряет работу с большими кодовыми базами, но на практике функциональность пока сыровата и требует обходных решений. Разбираемся, как включить LSP, какие языки поддерживаются и с какими ограничениями придётся столкнуться.
Начиная с версии 2.0.74 в Claude Code была добавлена поддержка LSP (Language Server Protocol). Благодаря LSP Claude Code получает возможность выполнять над кодовой базой такие операции, как переход к определению символа, поиск ссылок, получение информации при наведении и другие. В этой статье представлен обзор поддержки LSP в Claude Code и описаны способы её использования.
Когда агент для кодинга начинает работать с LSP (Language Server Protocol), он может выполнять задачи значительно эффективнее. Вместо поиска по всей кодовой базе с помощью строковых запросов агент получает доступ к структуре кода и информации о символах через LSP, что позволяет быстрее и точнее находить и редактировать нужные места, существенно экономя токены и время. Это особенно легко понять тем, кто уже пробовал Serena — инструмент, предоставляющий агентам семантические возможности поиска и редактирования кода.
Начиная с версии v2.0.74 в Claude Code была добавлена поддержка LSP. Эта функциональность предоставляется как часть экосистемы плагинов Claude Code. После включения LSP Claude Code может выполнять над кодовой базой следующие операции:
goToDefinition: поиск места, где определён символ
findReferences: поиск всех ссылок на символ
hover: получение информации при наведении на символ (документация, типы)
documentSymbol: получение всех символов в документе (функции, классы, переменные)
workspaceSymbol: поиск символов по всему рабочему пространству
goToImplementation: поиск реализаций интерфейсов или абстрактных методов
prepareCallHierarchy: получение элемента иерархии вызовов (функции/метода) в указанной позиции
incomingCalls: поиск всех функций/методов, которые вызывают функцию в указанной позиции
outgoingCalls: поиск всех функций/методов, которые вызываются из функции в указанной позиции
Включение функций LSP
Чтобы включить функции LSP, запустите Claude Code и выполните команду /plugin, после чего в интерактивном режиме активируйте плагин. Для установки плагина необходимо добавить маркетплейс, в котором он распространяется. LSP-плагины доступны в официальном маркетплейсе Claude Code (claude-plugins-official). Официальный маркетплейс должен быть доступен по умолчанию без дополнительной настройки. Убедитесь, что он включён на вкладке «Marketplaces».

Далее перейдите на вкладку «Discover» — там будет показан список доступных плагинов. Введите в строке поиска «LSP», и отобразится список LSP-плагинов, сгруппированных по языкам. В настоящий момент доступны следующие языки:
C/C++
C#
Go
Java
Lua
PHP
Python
Rust
Swift
Выберите LSP-плагин для нужного языка клавишей Space и нажмите клавишу i, чтобы начать установку.

Установленные плагины можно посмотреть на вкладке «Installed».

Кроме того, необходимо установить LSP-сервер, соответствующий языку плагина. Например, чтобы использовать LSP для TypeScript, нужно установить typescript-language-server.
npm install -g typescript-language-server typescript
Я попробовал включить TypeScript LSP-плагин и использовать его на кодовой базе TypeScript, однако на текущий момент он, похоже, работает некорректно. Судя по всему, плагину LSP-сервера требуется файл конфигурации
.lsp.json, но сейчас предоставляется толькоREADME.md. Остаётся надеяться на будущие обновления.
Использование собственного LSP-сервера
Если вы хотите использовать LSP-сервер для языка, который не поддерживается официальным маркетплейсом Claude Code, можно создать собственный плагин и предоставить через него LSP-функциональность. Для этого создайте новый каталог и в нём подкаталог /.claude-plugin.
mkdir -p my-lsp-plugin/.claude-plugin
Создайте файл .claude-plugin/plugin.json и заполните его следующим образом:
.claude-plugin/plugin.json
{
"name": "my-typescript-lsp-plugin",
"description": "TypeScript/JavaScript language server for Claude Code, providing code intelligence features like go-to-definition, find references, and error checking.",
"version": "1.0.0",
"author": {
"name": "Your Name"
}
}
Чтобы добавить поддержку LSP в плагин, создайте в корне каталога плагина файл .lsp.json и опишите его, например, так — для использования LSP-сервера TypeScript:
.lsp.json
{
"typescript": {
"command": "typescript-language-server",
"args": ["--stdio"],
"extensionToLanguage": {
".ts": "typescript",
".tsx": "typescript"
}
}
}
Для тестирования созданного плагина запустите Claude Code с опцией --plugin-dir.
claude --plugin-dir ./my-lsp-plugin
Выполните команду /plugin и убедитесь, что плагин корректно распознаётся. Плагины, указанные через --plugin-dir, распознаются как inline-маркетплейс.
В версии v2.0.74 существует проблема конфликта между плагинами и LSP-сервером, из-за чего функциональность может работать некорректно.
https://github.com/anthropics/claude-code/issues/13952
Чтобы обойти эту проблему и протестировать LSP, понизьте версию Claude Code до v2.0.67 и запустите его с установленной в true переменной окружения ENABLE_LSP_TOOL.
ENABLE_LSP_TOOL=true npx @anthropic-ai/claude-code@2.0.67 --plugin-dir ./my-lsp-plugin
Когда Claude Code использует LSP, применяется инструмент LSP(...). В приведённом примере для переименования компонента <Button> используется команда findReferences, чтобы найти место, где определён символ Button.

Итоги
Начиная с версии v2.0.74 в Claude Code добавлена поддержка LSP
Для включения LSP необходимо установить LSP-плагин нужного языка из официального маркетплейса
Для использования собственного LSP-сервера нужно создать плагин и добавить файл
.lsp.jsonВ версии v2.0.74 есть проблема конфликта плагинов с LSP, поэтому для обхода рекомендуется использовать v2.0.67 и запускать Claude Code с переменной окружения
ENABLE_LSP_TOOL, установленной вtrue
Русскоязычное сообщество про AI в разработке

Друзья! Эту статью подготовила команда ТГК «AI for Devs» — канала, где мы рассказываем про AI-ассистентов, плагины для IDE, делимся практическими кейсами и свежими новостями из мира ИИ. Подписывайтесь, чтобы быть в курсе и ничего не упустить!