Как стать автором
Обновить

Про Vim " JDT LS

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.8K
Всего голосов 6: ↑5 и ↓1+5
Комментарии5

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

Как же я ждал такой статьи!!! Можно гуглить и нагуглить как все настроить для vim + java, но мне почему то казалось, что для работы всерьез это никто не использует

Какой-то у вас однобокой подход... Это тяжелое, то неудобное, здесь не пересядешь...IDEA community можно использовать для промышленной разработки. Подсказок и инспекций будет меньше конечно, но работать будет почти всё. А вот можно ли в предлагаемом подходе реализовать функции, которые используются просто вот постоянно и зависят именно от IDE и её возможностей по анализу AST?
Например:

  • refactor: extract variable / method, также inline оных;

  • call hierarchy - посмотреть, откуда данный метод вообще может вызываться;

  • analyze data flow to here / from here - посмотреть на поток данных, в котором устанавливается значение аргумента;

  • проверить код инспекциями встроенными в IDEA и SonartLint и увидеть проблемы прямо в коде, без переключения / компиляции / прочих танцев с бубном, в т.ч. анализ @Nullable / @NotNull / @NonNull аргументов, если сделана разметка в коде. А если не сделана - то попросить IDEA разметить саму, с учётом паттернов использования;

  • java type renderers при отладке;

  • analyze stack trace;

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

Во-первых я сразу оговорился, что Idea прекрасен. Всех этих фичей действительно иногда (подчеркиваю) не хватает. А то что конкретно вам не мешает отсутствие поддержки в Community EE стека и клиента бд. Ну, очевидно, вам повезло. А мне вот приходится периодически иметь дело с серверами приложений и базами данных. Более того лично мне нужен часто PHP. То есть очень часто мне нужно запустить одновременно 2 а то и 3 специализированных тяжеловеса, что со временем начинает надоедать. Особенно когда ты уже не чистый кодер и работать надо больше не по задачам, а чаще прыгать по проектам.

почему не neovim с нативным LSP? это позволит избавиться от мерзонького COC (только подумайте, плагин для крошечного СИ-шного vim, требующий Node.js).

Да, это у меня тоже вызывает определенные эмоции, но в предыдущих статьях я обосновал такой выбор как мог. И в планах всё это перетащить в NeoVim

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

Публикации

Истории