Написать пост

Полезные плагины для IDE — подборки от экспертов

Аватар Никита Прияцелюк

Даже со всеми их возможностями зачастую в IDE разработчикам чего-то не хватает. Спросили у экспертов, какие полезные плагины они используют.

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

Какие полезные плагины есть для IDE?

В данной подборке я не буду рассматривать плагины и расширения для работы с какими-либо конкретными фрейворками и библиотеками, например, Spring, а постараюсь рассказать о тех, которые помогают работать независимо от используемых технологий.

Так как я часто провожу презентации и курсы, на первом месте по полезности для меня идут два плагина: Presentation Assistant и Key Promoter X.

Presentation Assistant помогает делать демонстрацию процесса разработки более прозрачной. Каждый раз, когда спикер нажимает горячие клавиши или делает какие-то манипуляции в IDE, на экране появляется маленькая подсказка, содержащая короткое название действия и соответствующее ему сочетание клавиш для Windows и Mac.

Key Promoter X работает в этом же русле, но с обратной стороны. Он полезен для тех, кто только начинает работать с Intellij IDEA или планирует ускорить свою работу в ней. Каждый раз, когда действие выполняется с помощью мыши или трекпада, плагин показывает горячие клавиши для этого действия и считает количество «неоптимальной работы» для каждого действия отдельно. В отличие от Presentation Assistant, он полезен не только во время демонстраций, но и в обычной работе.

Вторая группа — плагины для работы со строками и помогающие в момент написания кода.

Один из моих любимых — String Manipulation. Он добавляет большое количество дополнительных действий при работе со строками, такие как: энкодинг/декодинг, изменение кейса написанного текста (например, с CamelCase на SCREAMING_SNAKE_CASE), сортировки, фильтрацию и многие другие.

Dummy Text Generator — плагин, который генерирует строки на всякий вкус и цвет. Он очень помогает в разработке, когда нужно работать с тестовыми строками. Обычно приходиться добавлять в код всякую белиберду, случайно стуча по клавиатуре. Плагин же формирует хоть и случайный, но больше похожий на правду, текст.

Rainbow Brackets раскрашивает все скобки в коде в различные цвета радуги так, чтобы открывающая и соответствующая ей закрывающая скобки были одного цвета, это делает чтение и написание кода намного удобнее.

И, наконец, третья группа плагинов — помогающие в работе в целом.

Grep Console — мощный инструмент для обработки текста, который выводится в консоль. Его можно раскрашивать в зависимости от установленных правил или вообще скрывать лишнюю информацию. Больше никаких портянок однообразного текста, только визуализированный и полезный лог.

Еще один простой, но очень полезный плагин SideNotes позволяет добавлять в IDE окно для ввода заметок. Это бывает полезно не только во время написания кода, но и на митингах или при код-ревью.

Для любителей контролировать свое рабочее время и приверженцев практики Pomodoro я рекомендую плагин Pomodoro-tm. C его помощью можно разделять время на работу и отдых, настраивать интервалы под себя и даже блокировать среду разработки на время отдыха.

В качестве бонуса расскажу о плагине Power Mode II. Установите его и процесс написания кода получит +87 к эпичности и +46 к зрелищности. Не буду раскрывать, что именно он делает, чтобы не портить впечатление – просто попробуйте сами.

Мы пользуемся разными IDE, самой популярной в мире Java-разработки на текущий момент является IntelliJ IDEA. Большую часть возможностей мы получаем из коробки, но плагины, конечно, тоже нужны. Ниже ТОП из тех, которые в повседневной работе Java разработчика используем мы, что называется must have:

CheckStyle-IDEA – удобно иметь единые правила оформления кода для всей команды и в любой момент времени можно проверить, правильно ли расставлены комментарии, нет ли проблем с названием классов и методов, не закрался ли куда-то tab для отступа в начале строки и т.п. Особенно этот полезно для новичков. И даже, когда все эти правила знаешь наизусть, приятно знать, что кто-то следит за тобой и сразу поправит. Код, который оформлен единым образом приятно ревьюить и проще поддерживать.

AsciiDoc — уже достаточно давно документацию мы тоже пишем, как код, мы выбрали для этого AsciiDoc и, конечно, нам нужен плагин, чтобы все делать, не выходя из любимой IDE. Тут есть и возможность набрать текст и сразу увидеть, как это будет выглядеть после рендеринга. В последнее время проведена работа над тем, чтобы плагин нормально работал с JCEF, как и вся IDEA. Теперь он будет и более отзывчивым и памяти меньше будет потреблять.

String Manipulation — со строками работать надо постоянно, и этот плагин многое позволяет сделать в пару кликов, например: сгенерировать последовательность от 1 до 20, декодировать или проставить эскейп-символы для JSON.

Xtend Support Plugin — ссылки нет, потому что мы его сделали для себя, разместили в собственном репозитории и используем для поддержки DSL для описания доменной модели в IDEA. Возможно, когда-то дозреем, чтобы поделиться со всеми, но я это к тому, что лучший плагин – тот который эффективно решает ваши собственные задачи и разработать такой не так уж и сложно (сложнее поддерживать совместимость с новыми версиями IDEA), благо и туториалы и доклады на тему в доступности.

Если дочитали до сюда — вот вам еще один симпатичный плагин, который поможет скрасить время ожидания и нарисует симпатичный Progress Bar.

Сейчас существует огромное количество различных IDE, главное назначение которых — сделать работу разработчика как можно более простой и удобной. Наша frontend команда использует VSCode, поскольку он кроссплатформенный и с открытым кодом (open source), что обеспечивает гибкий подход к разработке собственных программных продуктов, например, системы класса process mining Proceset. Редактор не только поддерживает много языков программирования (среди которых наши основные — Java, C++ и JavaScript), но и обеспечивает удобство работы с системами контроля версий. И, конечно, одно из главных преимуществ — большая база плагинов. С их помощью можно решить практически любые возникающие задачи, будь то стилизация или отладка кода.

Среди них наиболее интересные:

Version Lens. Один из самых полезных плагинов, который позволяет контролировать версии установленных зависимостей и оперативно узнавать о выходе новых для их обновления.

Change-case. При помощи этого плагина можно быстро изменить регистр текущего выделения или слова. Доступны все популярные «кейсы»: camel, constant, kebab, snake и др.

Bracket Pair Colorizer. Подсвечивает парные скобки, что здорово помогает при большой вложенности условий.

Prettier — Code formatter. Крутой, очень крутой плагин. Его особенность в содержании кодовой базы в едином стиле. Форматирование кода осуществляется в автоматическом режиме без споров по поводу стиля.

ESLint. Плагин для установки правил написания кода для проекта. В подавляющем большинстве случаев над разработкой продукта работает целая команда, где у каждого свое написание кода, свои «почерк» и стиль. Часто в результате код получается сложным, что не есть хорошо. Использование связки ESLint+Prettier позволяет добиться написания кода в единой стилистике. Отдельно отмечу, что ESLint подойдет и для проектов на TypeScript, становясь отличной альтернативой использованию TSLint, разработка которого прекращена.

Плагины – удобное решение, помогающее гибко подстраивать работу IDE под свои нужды. Если в редакторе отсутствует поддержка какого-либо фреймворка или языка, то это можно исправить установкой необходимых сниппетов и плагинов для поддержки синтаксиса. Если не нравится, как автоматически форматируется твой код и ты уже исчерпал возможности настроек своей IDE, то можно задействовать десятки различных плагинов, реализующих альтернативу встроенному форматированию.

Когда я работал на Visual Studio Code, мне часто требовались плагины для работы с мало распространенными форматами/фреймворками, не имеющими поддержки по умолчанию. Но с переходом на WebStorm я об этом забыл, так как его базовой функциональности вполне достаточно.

Вот несколько плагинов, которыми я сам пользуюсь и могу порекомендовать другим разработчикам:

  1. Json Parser — плагин, который упрощает работу с большим объемом JSON внутри IDE;
  2. Database Navigator — плагин, позволяющий работать с различными базами данных — Oracle, MySQL, SQLite, PostgreSQL, а также в экспериментальном режиме с любыми JDBC-совместимыми БД. Плагин дает возможность просматривать, редактировать и частично администрировать базы данных, не выходя из IDE.
  3. Codota — плагин, который сортирует вывод методов и переменных при подсказках в автозаполнении кода на основе популярности их использования. Также может показать примеры использования кода;
  4. Extra Icons — плагин, обеспечивающий расширенный набор иконок для различных видов файлов. Например, если стандартные иконки не отображают, является ли этот файл Angular-компонентом/пайпом/сервисом, то с подключением плагина все становится понятнее.

Сам я работаю на IntelliJ IDEA с Java. На самом деле на данный момент любая IDE или редактор требует порядка 10-20 плагинов для удобной работы. Не буду объяснять, почему нужен, например, плагин для Git. Постараюсь также не трогать специфичные для узкого круга специалистов IdeaVim или нужный только Java-разработчику Lombok Plugin. А вот следующие плагины будут полезны любому разработчику.

String Manipulation. Самый настоящий must-have для программиста. Изначально я на него наткнулся, когда искал инструмент для автоматической смены регистра слов (так называемый case-switch), например из camelCase в kebab-case и обратно. Плагин выполнил поставленную задачу идеально, предоставив около 14 разных форматов написания слов, что очень помогло при рутинной работе в стилизации кода. Но кроме этой уже довольно полезной фичи, плагин может также выполнять сортировку строк, их фильтрацию, чистку дублей, а также ряд операций с числами, например, инкремент или автоматическое создание последовательностей (что очень удобно при составлении нумерованных списков). Также он почти без ошибок работает с мультикурсором, что позволяет в течении пары минут обрабатывать сотни строк кода или любого другого текста.

У каждого разработчика должен быть такой инструмент в копилке. Для себя заметил, что теперь могу сконцентрироваться на решении задач, а не на том, как написана вот эта переменная. Ну а для тех, кто работает не с IDEA, могу сказать, что аналоги этого плагина есть и для других IDE, например за пару минут поиска я нашёл AnyEdit плагин для Eclipse.

Markdown. Конечно, каждый разработчик хотя раз писал README.md в своём GitHub-репозитории. Да, редактор там очень удобный, но мне всегда нравилось делать абсолютно все, что связано с разработкой, в IDE.

Данный плагин дает возможность в реальном времени видеть изменения в редактируемом Markdown документе. Кроме того, при написании блоков кода начинают работать все функции IDE, как если бы код писался в отдельном файле (даже можно запустить!). Если к этому добавить прелести предыдущего плагина, получается отличный редактор для программной документации или просто удобный редактор текста.

И да, есть языковые пакеты с проверкой орфографии и грамматики, это превратит IDE в полноценного конкурента MS Word.

У нас в компании основным инструментом разработки служит программа Visual Studio от Microsoft, в которой удобно писать код под .NET/.NET Core. Несмотря на то, что у нее в последнее время «из коробки» достаточно много полезных функций даже в бесплатной редакции Community, некоторые из нас используют те или иные плагины для удобства разработки, рефакторинга, контроля качества и так далее.

ReSharper от JetBrains – добавляет массу возможностей в IDE. Например, зачастую избежать ошибок помогает контроль naming convention, причем он может подстраиваться под принятые в проекте соглашения автоматически. Исправление опечаток в ключевых словах: если даже написать какое-либо из них транслитом, например, зкшмфеу вместо private, оно будет заменено на английский. Также он показывает опечатки как в английских, так и русских словах. Кроме того, плагин экономит время тем, что может быстро обернуть целый кусок кода в фигурные скобки, try, foreach и тому подобное, достаточно выделить код, начать вводить название нужного оператора и нажать Enter. При рефакторинге с помощью этого инструмента удобно менять сигнатуру метода: можно изменить не только параметры, но и возвращаемый тип.

CodeMaid – предназначен для «наведения красоты» в коде: очистка от лишних пробелов, форматирование и мое любимое – подсчет цикломатической сложности методов. Именно этой функцией пользуюсь чаще всего, чтобы стараться поддерживать код читабельным и понятным.

WakaTime – нужен для контроля времени работы: пока пишу код, он шлет в одноименный сервис информацию о том, как долго я работаю, с каким проектом, в каком файле и даже в какой ветке. Благодаря этому можно увидеть, сколько часов в день уходит непосредственно на код, что поможет посчитать реальный объем трудозатрат на ту или иную задачу.

Productivity Power Tools – плагин, который используют некоторые коллеги. Его особенности – предупреждение о смешивании «табов» и «пробелов»; «подсветка» выделенной переменной во всем файле с добавлением маркеров на scrollbar, чтобы ориентироваться, где еще в коде она используется; отображение наличия ошибок в файлах прямо в Solution Explorer; «раскраска» открытых вкладок в зависимости от проекта и еще множество полезных функций.

Со временем многие из нас отказываются от тех или иных расширений IDE, поскольку каждое из них добавляет нагрузку на среду разработки, из-за чего появляются задержки в обработке проектов, особенно больших, и, как следствие, теряется их цель – увеличение продуктивности разработчика. Кроме того, по мере обновления IDE часто появляются новые функции, которыми можно пользоваться и без плагинов. Об этих двух факторах следует помнить, прежде чем расширять свою среду разработки, и не «накидывать» в нее все подряд.

Есть какие-то полезные плагины, которыми вы пользуетесь, но не были упомянуты в статье? Делитесь ими в комментариях!

Напоминаем, что вы можете задать свой вопрос экспертам, а мы соберём на него ответы, если он окажется интересным. Вопросы, которые уже задавались, можно найти в списке выпусков рубрики. Если вы хотите присоединиться к числу экспертов и прислать ответ от вашей компании или лично от вас, то пишите на experts@tproger.ru, мы расскажем, как это сделать.

Следите за новыми постами
Следите за новыми постами по любимым темам
27К открытий27К показов