Обновить

LSP vs весь стек JetBrains IDE: что получает AI-агент без доступа к платформе IDE

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели8.2K
Всего голосов 9: ↑9 и ↓0+11
Комментарии3

Комментарии 3

Единственные агенты с доступом к дебаггеру — Junie (дебаггер доступен в Ultimate) и Claude Code (через JetBrains MCP Server) — получают его через JetBrains Platform, а не через DAP.

Спасибо. Я как-то пытался найти беглым поиском чем все эти "варианты подключений" отличаются и где есть возможость реально воспользоваться фичами IDEшки, но в итоге только ещё больше каши в понимании. У JB вообще зоопарк с этим, потому что есть JetBrains AI Assistant, Junie, какие-то "нативно поддерживаемые AI чаты", ACP, BYOK (что бы это ни было), собсвенные плагины... а нормального сравнения по возможностям нет. Т.е. выбираешь методом тыка и "хоть бы как-то заработало". Пытаешься найти хоть что-то чтобы прикрутить отладку - поиск шлёт в копилот, который наглухо не доступен с учёткой которая хоть как-то когда-то засветилась в картофельном союзе.

Нужно ли для этих агентов, плагинов и прочего нейрослопа отдельно держать MCP-сервер уже и так запущенного райдера - очень непонятно. И вроде ещё и порт у него меняется на каждом проекте, что автоматом делит на ноль попытки работать с чуть более чем одним проектом. Отдельно непонятно, почему MCP-сервер тупит настолько, что его регулярно все теряют (причём курсор если не достучался, то отключает с концами, включить потом только ручками можно, когда заметишь что всё плохо). И сам райдер не умеет дожидаться, когда же он стартанёт, прежде чем опрашивать MCP-сервера. Так же в самом райдере из трёх конфигов (SSE, stdio, HTTP Stream) которые он сам предлагает скопировать - заработал только /stream.

Дальше веселее, ведь всякие MCP один в один не переносятся из курсора, всё что прикручивается, например, через npx - нужно прописывать в command как npx.cmd, иначе райдер не сможет запустить. MCP которые подключались прямо по сети тоже как-то не через все варианты работали.

Выглядит будто JB продаёт на волне хайпа то, чем само не пользуется вообще.

И такие ляпы в этих нейрослопных поделках кругом. Cursor сожрал лимит, предложил переключиться на Auto, переключает тебя из собственной диаложки на "auto" (мелким шрифтом) и начинает истерить что такой модели нет. Переключаешь на Auto - истерит что ни одна модель недоступна и нужно срочно ещё мешок денег. Нужно прям руками переключиться сначала на composer и отключить fast, потом как-то работает...

Gemini - были какие-то лютые тормоза с регистрацией. Ты типа зарегался, но сразу авторизоваться не получается, надо подождать. Только ты об этом не знаешь, тебя отпинывает что ты не зареган, ты пытаешься ещё раз зарегаться, тебя отпинывает что ты уже зареган... и так пока регистрация не синхронизируется.

Zed - я прописал в конфиге Gemini (через LLM Providers - Google AI) и Cursor (через ACP). Gemini как-то работает, Cursor - нет в UI вообще.

Cursor и DeepSeek... санкций вроде бы нет... но без VPN регистрация не проходила... но потом как-то работают, да... но сменить учётку в курсоре - тот ещё цирк. Плюс он теперь почему-то стал считать что нет браузеров в мире кроме хрома (непредвиденные сложности у вайбкодеров).

Отдельно у меня качественно полыхает с того, что вайбкодеры так и не осилили более-менее единых стандартов, где держать все эти конфиги, скилы, стопицот копий .ignore и правил аля AI.md, AI-RULES.md, AGENTS.md, GEMINI.md, CLAUDE.md, "каждаявтораяиде.md", ".директориядлякаждойвторойиде/" и ещё вагончик... которые тупо невозможно в адеквате как-то засинхронизировать между проектами или в команде где есть не один единственный дефолтный агент и одна единственная IDE.

Если агент использует только LSP, вот что у него есть: textDocument/definition  для userRepo возвращает PaymentService.java:4textDocument/hover возвращает UserRepositorytextDocument/references — список пар «файл:строка».

Всё, что агент знает о коде — то, что LSP посчитал нужным показать. Через LSP агент не может узнать, является ли UserRepository JPA-репозиторием и какие методы он наследует.

Есть гипотеза, что вы не понимаете, что буковка «P» означает в аббревиатуре «LSP».

То, что какая-то вами протестированная реализация (какая, кстати?) не поддерживает спецификацию — не означает, что протокол плох. Вот вам ссылка на то, как узнать всё про UserRepository.

Правильно имплементированный LSP, за которым стоит семантический анализ и граф зависимостей, — лучше, быстрее и аккуратнее любого IDE.

Я не вдавался в тонкости, но чисто из практики наблюдаю, что инструменты JetBrains (я использовал их MCP) не дают какого-то ощутимого преимущества, на которое я бы мог указать. Зато вот токенов забирают больше. Это субъективно, но зато на практике. Поэтому я просто отказался от подписки JetBrains, IDE мне больше не нужна.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
veai.ru
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия
Представитель
Надя Давыдова