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

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

Плагины для application servers какие есть?

Можете конкретнее уточнить какие интересны, если мы говорим про расширения для Tomcat и подобных, то есть. Без установки можно проверить по названию сервера в магазине приложений

Нету, жаль. под Caucho Resin нужен.

Он разве не умер уже?

В смысле умер?

Последняя версия вышла 3 года назад. Похоже его перестали развивать.

ну это пока не повод переходить на что-то иное, тем более альтернатив особо нет, если нужен серверный xslt да и еще такой быстрый.

гуд, отличный гайд

Так, в целом довольно круто, но из всего описанного не понял, как включить поддержку котлина. Открываемые файлы не имеют никакого хайлайта внутри

👍 спасибо, упомянул что нужен kotlin, но в статье не указал нужный extension. Добавлю

Вот откуда можно узнать про обязательность этого Extension Pack? Я просто скачал VSCode, установил, не увидел самой главной фичи, которая обязана быть в любой IDE (со времен Visual Basic в 1996 году) и удалил этот блокнот с подсветкой, ибо Geany уже есть.

В обычной Visual Studio не надо ничего дополнительно скачивать, автокомплит для C# там есть из коробки. Как и в упомянутой IDEA для Java.

Спасибо, но танцы с бубном в духе vim/Emacs совершенно не интересны. В LEGO я наигрался в детстве. Работать надо, сроки горят, некогда красноглазыми глупостями заниматься.

С подобным подходом никаким конкурентом IDEA или Eclipse оно никогда не станет. Для любителей, для open source разработки, возможно и неплохая вещь. Но для энтерпрайза такое категорически неприемлемо. Здесь нужен завершенный инструмент без костылей.

Ну это потому что есть Intellij бесплатное. А вот с Эклипсом были какие-то проблемы с масштабированными экранами, неудобно было использовать.

Вот для примера сравните с С++ на Линуксе, СLion платный, QT creator очень специфичный, Codeblocks какой-то простой что-ли, неразвивающийся свиду. Остаётся только Vs code с плагинами. Что в принципе норм работает, хотя и не без замечаний.

Как помню, при открытии .java файла приходят всякие предложения - "тебе подходит XXX расширение, поставить?". А так да, не всегда это интуитивно, тут полностью согласен. Тем более еще бывает несколько расширений для одной и той задачи)

Да и конкурировать с IDEA сложно. IDEA заточена под конкретную задачу, да и многолетняя привычка сродни слепой печати - все уже делаешь на автомате и знаешь куда нажимать. Тут мне больше интересно изучать - "А есть ли что-то еще, не отстал ли инструмент". И да, первая неделя использования была полна страданий и красноглазия, но потом стало понятно как это работает :)

Другой переломный момент это AI ассистенты, они нивелируют "умность" автокомплитов, тонкости знаний IDE особенностей технологий. Стандартные автокомплиты IDEA уже не сравнятся с ними, что тоже дает больше вариантов использованию другого инструмента. И не важно, это перед тобой Java, properties файлы спринга или gradle build.

AI ассистенты, они нивелируют "умность" автокомплитов

Эх! Если бы они еще импорты вставляли при применении автокомплита =)

Ну тут автоимпортам приходится пока еще поработать, не у всех же разом работу отнимать)

VS Code же не позиционируется как среда для какого то конкретного языка, наоборот, каждый ставит только то что ему надо, а не как в Visual Studio - 4 гига хлама по умолчанию.

Для JS один набор плагинов
Для C# другой
Для Java третий
Для Python, четвертый
Для N-го языка - N-ный

И все это есть в документации: Language Support in Visual Studio Code

Это что, чтобы собрать C++ под виндой достаточно скачать gcc/mingw/clang (идут в одном зипнике) с winlibs весом в 150мб, а не 10гб вижлы!?

Вообще фатально бесило то, что просто для хелловорлдов проще чуть ли не в онлайн редакторе работать, чем ставить вижлу

Что такое вижла?

если вам нужно собрать из 1 файла, то достаточно. А если таких файлов сотни, то вы потратите кучу времени, проще уже IDE которая сама всё автоматизирует в один клик или хоткей

Очень интересно и познавательно. Но сам так я делать конечно не буду. IDEA наше всё.

Вот отрубят вас по айпи, тогда ещё вернетесь. 😁

Не все кто сидят на хабре находятся в РФ

Ну так то ещё госуслуги есть...

Но fallback опцию тоже хорошо иметь под рукой :)

Уже несколько лет как перешел на VSCode для java-разработки. Из главных минусов - IDEA теперь кажется крайне тормозной.

Автодополнение несколько хуже работает в VSCode, все для List предлагает на 1й строчке что-то из сторонней библиотеки, а не java.util.List. По факту это самое большое мое замечание к Java в VSCode (не использую ИИ-ассистентов).

Года 3 назад (а может и больше) были проблемы с многомодульными проектами, но уже все исправили и они работают прекрасно (maven).

С eclipse-java-google-style.xml в свое время игрался, но так и не подружился полностью - всплыли проблемы с форматированием, возможно уже исправили - надо будет еще поиграться (уже и не помню в чем именно были проблемы). Но я итоге google-java-format подключил в maven (форматирование и валидацию).

Как резюме могу сказать, что с VSCode прекрасно живется java-разработчику. Про IDEA и не вспоминаю. Максимум - по интерактивному git rebase еще скучаю иногда. Уж очень он удобен в IDEA был.

в VS code какой-то скудный рефакторинг по сравнению с IDEA или я ошибаюсь?

JetBrains, что называется, "собаку съели" на рефакторинге. Так что да, IDEA в этом лучше будет.
Но базовых возможностей и в VSCode хватает: https://code.visualstudio.com/docs/java/java-refactoring

В расширении gitlens имеется интерактивный rebase

Да, им и спасаюсь (впрочем, есть и другие аналоги, а при необходимости и консоль в моем распоряжении). Но в IDEA его реализация кажется как-то эталоннее и удобнее )

Да и сам GitLens (amodio.gitlens) мне не нравится - уж слишком впихивают платный функционал. Использую GitLess (maattdd.gitless) - форк GitLens "до того, как он испортился премиумом".

Не упомянуто главное преимущество VSCode - расширение devcontainers. Выше жаловались про танцы с бубном в стиле vim, так вот с этим расширением и соответствующей папочкой в проекте, с правильно прописанными версиями и зависимостями, все сводиться к двум кликам. Типичная ситуация на проекте - коллеги пару дней тратят на запуск сложного проекта в Idea, тогда как в Vscode с devcontainers уже вовсю идет активная разработка.
Из недостатков - не поддерживаются некоторые экзотические связки вроде rancher + arm mac, но в классике linux + docker все стабильно.

Хм, интересно, у них вроде была только своя, cloud-based, ну значит IDEA теперь дотянулся до VSCode в этом плане.

Да, devContainers - очень мощный инструмент.
Правда я по итогу перешел к запуску контейнера под стек и ssh-сервера в контейнере.

Очень уж раздражал постоянный сброс кеша зависимостей - после обновления базового образа надо собирать образ, качать code-server и все зависимости заново. А если у тебя хреновый интернет - то это все может не с первого раза еще и отработать.

А если посреди дебага перезапустил IDE и пошло обновление - то совсем грустно становилось...

Интересно, до devcontainers не добрался еще. По поводу локального запуска приложения, тут считаю на старте надо сделать однокнопочный запуск, типа ./run.sh , а рядом ./run-tests.sh и тд. Там внутри использую docker-compose/skaffold или что необходимо другое. Из плюсов - не важно IDE, каждый может запускать и писать где хочет - запуск не зависит от IDE. Из минусов, страдают только те, кто использует голый Windows для разработки, поэтому упоминал WSL2 как хороший универсальный вариант.

DevContainers может мне заменить этот ворох скриптов?

Скорее не заменить, а дополнить запуском скриптов в контейнере )
Для замены - можно tasks использовать, но это тоже будет VSCode-only, так что скрипты универсальнее.

Вообще через maven можно автоматизировать многие вещи - тоже достаточно универсально получается, особенно с maven-wrapper. Но для запуска maven зачастую уже свои скрипты нужны )))

Про локальный запуск не совсем понял вопрос - в контексте разработке нужен отладчик, с голым docker-compose из run.sh отлаживать из VSCode не получится (наверно как-то можно через ssh, но это и будет эмуляция devcontainer). Конечно, в проекте обычно есть Makefile с build-docker, run-docker, test и т.п., но внутри devcontainer все это становится не нужно. Когда-то заморачивался с гибридными Makefile-ами, которые по разному выполняются в зависимости откуда запущен make.
Ворох скриптов сокращается, но главное, что единожды все настроив и закоммитив в репо, другой разработчик с VScode и devcontainer, склонировав проект, поднимет все в два клика и сможет сразу приступить к работе.

А как насчёт памяти и процессора? Переход на VS останавливает тот факт, что загруженный проект в VS потребляет столько же ресурсов процессора и памяти как и IDEA. В вашем опыте также или нет?

Не сравнивал потребление, но под капотом там eclipse (или какие-то его части), так что сильно меньше потреблять и не будет по идее.
Но в VSCode отзывчивость на действия сильно лучше, по моему опыту. IDEA теперь кажется крайне тормозной...

Обратите внимание на NetBeans. На мой взгляд, это наиболее близкая к Idea IDE. не без недостатков конечно, но работать можно.

Ещё был хороший бесплатный Oracle JDeveloper . Тож мощное IDE

А я было подумал, как так, у Оракла да и ещё и инструмент неплохой. А они его у Borland-а купили и в своих лучших традициях — заспиртовали.

Но если у вас есть трудности с доступом к Ultimate версии, а Community вариант не достаточно функционален — самое время попробовать современную альтернативу

Итого в сухом остатке мы имеем:

  • Плюс 2 обязательных вопроса к нанимающей стороне во время собеседования.

  • Плюс один повод сменить работодателя, если гениальная идея об импортозамещении экскаватора лопатами настигнет позже.

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

Чем Идея и хороша - ты ее просто устанавливаешь и можешь сразу же нормально работать, все эти тонкие настройки под себя можно и на потом отложить, если они нужны вообще.

Кстати отличная идея, пак сделать несложно, накидываешь в конфиг файлик нового расширения другие расширения и получаешь свой vsix файл. Согласен,а то по ссылкам бегать и одинаковые кнопки жать хоть и надо один раз - но муторно. У меня даже есть заготовка, надо дожать и будет проще получить готовую альтернативную среду.

В дополнение к этому: рекомендуемые расширения можно сохранить в сами исходники проекта (в папке .vscode в корне, аналогично .idea). Тогда при первом открытии проекта будет предложено установить их все одной кнопкой.

Не программирую на java, но у нас на работе есть подгруппа C++ программистов, которые топят за vscode. Так как я использую CLion, то в принципе эта статья смежна с моим опытом.

Не могу поддержать рукоплесканий в сторону vscode. Конкретно, очень медленный анализ и поиск символов и ограниченный рефакторинг, как уже упоминали. Тонна плагинов - напоминает npm, где тоже живёт целый зоопарк.

Возможно тем, кто всё время сидел на Виндоус эта программа кажется открытием. Но в линуксе всегда был Emacs и vim, которые справляются очень хорошо со своими задачами и больше.

Однако, если надо ИДЕ, то лучше используйте ИДЕ. И JetBrains делает это хорошо.

Поддерживаю. Вынужден держать VSCode, лишь из-за превосходство в разнообразии плагинов поддержки языка. Но как бы я его не настраивал быть похожим, что-то всё равно не так. Даже если сравнивать с enterprise ms visual studio.

А, ну и встроенный в VSCode git функционал, это обнять и плакать.

Насчёт WSL, при работе с ним настоятельно не советую обращаться напрямую из линукса в виндовый раздел и наоборот. Тормоза будут отменными, скорость чтения может составить 2 мб/с.

WSL2

Как-то можно сделать, чтобы это расширение не открывало все Java-проекты рекурсивно в открываемой папке? У меня иной раз чуть ноутбук не расплавился от такого удобства, когда случайно открыл папку с несколькими проектами.

Почему на венде под wsl надо работать?

желательно использовать WSL 2 для работы с Linux средой. Таким образом решите проблемы при запуске.sh скриптов, которые может содержать ваш проект

Увидел, читал по диагонали. А если там будут ещё и батники? 🤔

А для чего скрипты могут быть в проекте? Я не программирую на Java, немного тыкал когда выходил NetBeans 8 и когда ставил IDEA 15 потыкать яву для андроида. Не припоминаю там каких-то bat или sh 🤔

Можете подсказать, как настроить VS Code на удаленную работу со Scala? Насколько понимаю, расширение Scala всё же нужно устанавливать на самом VS Code на локальном хосте? Можно ли обойтись без установки JDK и Scala на локальном хосте, чтобы VS Code использовала их на удаленном хосте? Если да - как это сделать?

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