Comments 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).
Про Vim " JDT LS