что такое плагины в программировании
H Разработка плагинной системы на С и С++ в черновиках Tutorial
Многие программные продукты предоставляют возможность расширить функционал путём установки плагинов, а соответствующая документация и/или статьи сообщества подробно рассказывают, как создать свой первый плагин к %PRODUCT_NAME%. Но не в этой статье. Здесь будут созданы свои велосипеды с плагинами в образовательных целях.
Предисловие
Первая мысль о собственной плагинной системе возникла ещё в четвёртом семестре, на курсе Языков Системного Программирования. Лабораторные работы принимали такие же студенты, как и мы, только на год старше и прошедшие с отличием курс ЯСПа. Ключевым во время сдачи лаб изучить что-то новое, а особо умные студенты, желающие получить оценку выше, сначала получали дополнительное практическое задание. Суть задания сильно зависела от фантазии и жестокости принимающего. На пятой лабораторной (из семи) нужно было принести консольный bmp-редактор, который поворачивал картинку на произвольный угол. Задание на оценку повыше — добавить фильтр «размытие по Гауссу». Тогда я уже прекрасно был знакомы со своим принимающим, и знал, что прописанного в задании к ЛР ему будет мало, и я решил нападать первым. Так зародилась идея вынести все фильтры в плагины и подхватывать их при загрузке редактора.
Требования к окружению
Уровень 1. Учимся подхватывать библиотеки
Нашей первой целью будет незамысловатая программа, которая будет получать список *.so файлов через аргументы командной строки, искать и (в случае успеха) выполнять в них функцию такого вида:
Начнём с самого простого, с кода плагина. Для первого уровня не нужно заморачиваться: выведем своеобразный «Hello World!».
Само «ядро» состоит лишь из вызовов функций dl* в правильном порядке.
Отлично! Наш плагин был признан системой и функция была выполнена. В кач-ве практического задания, развивающего умения работать со строками в С и курить маны, предлагаю парсить текущий каталог и искать *.so файлы.
Уровень 2. Загружаем объект класса.
Сишный код — это просто. Усложним задачу. Теперь мы хотим получать не просто указатель на функцию, а целый экземпляр какого-то класса. Но так как ядро у нас не экстрасенсорное, то нам следует сделать «базу» для всех совместимых с нашей системой плагинов.
Теперь мы можем наследоваться от этого класса, делать что угодно, зная, что по крайней мере метод do_magic будет доступен ядру.
Дело за малым: как-то получить экземпляр класса. Самый простой для нас способ: создать обёртку из сишной функции, которая будет создавать нам объект класса. Для этого стоит воспользоваться заклинанием extern «C»
Теперь адаптируем ядро для получения классов.
Теперь, когда мы используем в загрузке плагинов классы С++, мы можем позволить себе не сильно заморачиваясь накрутить функционал в виде имени читаемого имени плагина, версии и всего, чего душа пожелает.
Уровень X. Скриптовый язык
При желании можно разработать собственный скриптовый язык, на котором и разрешить писать плагины. Интересный вариант, но разбираться в этой статье он явно не будет.
Заключение
Вот так не очень сложно оказалось делать плагинную систему на языках С и С++. Исходный вариант, который я сдавал на дисциплине ЯСП, имеет более сложную структуру, но так как было ограничение на используемый язык в виде С89 и делалось в ночь перед сдачей, то получилось не очень аккуратно. Тем не менее, исходный код доступен для изучения здесь: github/Firemoon777/bmp-editor.
Плагин своими руками
Функциональность программ зачастую могут улучшать не только их непосредственные разработчики, но и другие люди. Они, как правило, являются пользователями тех программ, которые хотят улучшить. Возможно это в тех случаях, когда программа поддерживает различные дополнения. Дополнения эти обычно реализуются в виде плагинов.
Универсального формата плагинов, который подходил бы всем приложениям, не существует. Причина этого проста: очень разные функции выполняют разные программы, и было бы странно пользоваться плагинами к Adobe Photoshop из Sound Forge. Но, тем не менее, свои стандарты есть, а потому приложения, выполняющие сходные функции, часто «понимают» плагины своих конкурентов. Например, среди графических приложений стандартом де-факто стали уже упоминавшиеся плагины к Photoshop, а среди приложений для работы со звуком распространён формат VST.
Чтобы продемонстрировать вам основные принципы написания плагинов на практике, я расскажу, как написать собственный полнофункциональный плагин для популярного файлового менеджера Total Commander. Почему именно для него? Потому что писать к нему плагины достаточно просто, а сам Total Commander я считаю лучшей из программ этого класса.
Писать плагины можно на любом языке программирования, код на котором можно скомпилировать и скомпоновать в динамическую библиотеку. Но сейчас для простоты и наглядности я буду пользоваться Delphi, поскольку с этим языком может работать практически каждый, кто в школе научился Паскалю. Да и сам Total Commander, как известно, написан именно на Delphi.
Плагины к «Командиру» бывают разные. Очень разные, я бы даже сказал. Всего их, на сегодняшний день, четыре типа: плагины встроенного архиватора, плагины встроенного просмотрщика (Lister’а), расширения файловой системы и контент-плагины. Плагины для архиватора позволяют работать через Total Commander с новыми форматами архивов как с обычными папками, плагины Lister’а позволяют просматривать по нажатию на кнопку F3 файлы новых форматов. Плагины файловой системы позволяют работать со структурированными хранилищами данных как с обычными каталогами и файлами, лежащими на диске. В принципе, они чем-то похожи на архивные плагины. Контент-плагины появились в Total Commander’е сравнительно недавно, начиная с версии 6.50 (на момент написания статьи самой новой была версия 7.01). Они позволяют отображать дополнительную информацию о разных файлах в главном окне программы.
Для того, чтобы писать плагин, нужна сначала некоторая предварительная подготовка. Для начала, наверное, неплохо бы установить Delphi. Если она уже установлена, то удалять и ставить по-новому не надо. Кроме самой Delphi, нужны заголовочные файлы, чтобы экспортировать правильные функции и найти, таким образом, общий язык с Total Commander’ом. Скачать их нужно с сайта Total Commander’а (ghisler.com/plugins.htm), называется это «LS-Plugin writer’s guide». Прямая ссылка такая: ghisler.fileburst.com/lsplugins/listplughelp1.5.zip, но она, как видите, содержит в себе номер версии, который может измениться.
Ну вот, если вы всё скачали, то можно переходить непосредственно к действиям. Запустите среду Delphi и в окне создания нового проекта выберите «DLL» (в некоторых версиях Delphi это называется «DLL Wizard», но это не принципиально: главная идея такова, что проект должен быть проектом динамически компонуемой библиотеки).
Один небольшой нюанс: поскольку типов плагинов к TC несколько, им всем принято давать разные расширения. Плагины для Lister’а традиционно имеют расширение WLX. Поэтому лучше заранее сменить расширение выходного файла в настройках проекта.
В разделе uses главного файла проекта нужно добавить модули Windows, поскольку нам понадобятся некоторые типы данных оттуда для экспорта функций нашим плагином. Всего же функций, которые нам необходимо экспортировать, три. Вот как они выглядят:
Добавьте в проект форму («File»->»New»->Form) и удалите из файла формы глобальную переменную Form1: TForm1. Особенности написания DLL на Delphi таковы, что глобальные переменные во время этого процесса под запретом. На форму положите компонент RichEdit (он находится на вкладке «Win32» палитры компонентов Delphi). Установите его свойство Align на alClient (для этого нужно использовать окно Object Inspector, находящееся в левой части среды).
Окно нашего плагина не должно иметь рамки и заголовка, иначе окно Lister’а будет выглядеть, мягко говоря, странновато. Поэтому для создания окна мы должны переопределить одну процедуру. В секции Protected класса окна нужно записать следующее:
В теле процедуры пишем следующее:
Теперь можно перейти к непосредственному заполнению тела экспортируемых функций. Тело процедуры ListDetectString будет коротким:
Эта функция копирует строку «FORCE | EXT=»RTF»» в переменную DetectString. А строка сообщает Lister’у, что мы будем открывать своим плагином файлы с расширением «RTF» и при этом переопределяем стандартную функциональность просмотрщика.
Тело ListLoad будет уже гораздо более длинным:
Код ListerCloseWindow таков:
Получаем сохранённый адрес формы, закрываем её и освобождаем память. Нужно только не забыть объявить переменную Form1 и «обернуть» всё, что происходит внутри процедуры try. except’ом.
Плагин что это такое простыми словами и для чего он нужен
Несмотря на сложное определение слова plugin, объяснить его можно двумя словами. Подобрав нужные для пользователя плагины, можно заметно улучшить качество и скорость работы.
Что это такое простыми словами
В каждом приложении или сайте есть свой базовый функционал, к которому каждый пользователь может добавить нужный плагин по собственному усмотрению. Удовлетворить пожелание каждого пользователя не представляется возможным, так как добавление огромного количества функций в базу игры может привести к его некорректной работе. Тем более, не всем нужны определенные функции, загромождение функционала будет только мешать пользователю, в итоге он может уйти к конкурирующей компании.
Итак, можно сказать что плагин (plugin) это дополнение к возможностям программы или сайта.
Наибольшее количество таких расширений приходится на популярные ресурсы, требующие некоторых дополнений. В пример можно привести один из самых популярных сайтов ВКонтакте, собравший большое количество плагинов вокруг себя, поскольку их разработчики заинтересованы в увеличении количества пользователей и выбирают сайты и приложения с большой аудиторией. Начиная от скачивания музыки и видео, заканчивая оформлением сайта – все это может изменить любой пользователь, настроив под себя.
Для чего нужны плагины
Также, ни один разработчик приложений и программ не сможет предугадать каждое пожелание пользователя, поэтому заниматься этим попросту бесполезно. Конечно, они стараются максимально расширить свой функционал, но все же придерживаются основных базовых функций с некоторыми «фишками» для привлечения людей.
Известное всем приложение Adobe Flash Player отвечает за множество действий с программами и сайтами, к тому же при его отсутствии, оно само предлагает установку себя. Устаревшая версия также предлагает обновиться для более корректной работы.
Какие бывают плагины, их виды
Кроме плагинов для социальной сети Вконтакте и приложения Flash Player существует огромное множество других дополнений, к примеру, плагины для WordPress отвечающих за различные функции. Все они делятся на три вида: платные, бесплатные и условно-бесплатные. Разница их состоит в функциональности и способе установки.
Бесплатные
Это самый распространенный вид среди пользователей. Иногда содержат незначительную рекламу, обладают не самым большим функционалом, но при этом работают исправно, так как разработчику важно, чтобы выбрали именно его продукт.
Условно-бесплатные
Чаще всего являются лишь демонстрационной версией платного дополнения, для расширения функций необходимо купить полную версию. Однако люди пользуются и бесплатной версией, хоть она и содержит меньшее количество функций, но по сравнению с бесплатными продуктами, их количество на порядок выше.
Плюсом можно назвать то, что у такого вида нет заканчивающегося пробного периода – никто не будет ставить жесткие условия для пользования дополнением. Человек в праве пользоваться теми функциями, что были представлены при скачивании. Если же пользователь понимает, что этого мало, он может ознакомиться с платной версией и приять решение о покупке.
Платные
Такие плагины могут быть изначально платными, а могут быть премиумным вариантом условно-бесплатных дополнений. Разработчики настроены на максимальное продвижение платного продукта, поэтому в такой версии функций намного больше, чем у бесплатного продукта. Она более продумана и детализирована.
Стоимость может варьироваться от двухсот и до нескольких тысяч рублей. Не советуется скачивать взломанную версию премиумного плагина, поскольку в таких версиях часто содержатся вирусы или другие неприятные сюрпризы, оставленные взломщиком.
Плагины (plugins) для браузеров, зачем они нужны
Ни один персональный компьютер не может спокойно существовать без браузера, на сегодняшний день это одна из самых часто открываемых программ на компьютере большинства пользователей. Их создатели оставляют огромный простор для plugin-разработчиков, и сейчас для каждого браузера их создано огромное количество.
Некоторые плагины пользуются популярностью на большую аудиторию, а некоторые нацелены на узкий круг людей. Существуют как онлайн-переводчики, вызываемые одним кликом, так и курсы валют. Или время и погода в разных странах, постоянно находящиеся на странице для мониторинга.
Плагины разрабатываются в поддержку какого-либо формата документов, как например Adobe Reader. Он позволяет открывать и читать документ прямо в браузере, так как не всегда есть необходимость в скачивании документа из интернета. Большое количество ненужных файлов только загромождает жесткий диск и тратит время пользователя на его очистку.
Где их скачать и как устанавливать
Местонахождение расширений в различных браузерах находятся в разных местах, однако способ их установки и метод работы практически не отличается.
Браузер Mozilla Firefox
Найти дополнения для Mozilla Firefox можно в верхней панели, нажав на «Инструменты» и выбрав «Дополнения». Для поиска и установки плагинов достаточно нажать «Получить дополнения», где пользователю представится список, систематизированный по критериям: популярность, категория, версия, отзывы, автор и рейтинг. Нажав на нужное дополнение, можно увидеть его описание и кнопку установки «Add to Firefox». После скачивания необходимо подтвердить установку дополнения, после чего можно будет начать им пользоваться.
Браузер Google Chrome
Аналогично дополнениями из Mozilla, расширения для Chrome находятся в шапке браузера. Нажав на «Дополнительные инструменты» и выбрав «Расширения», открывается список всех плагинов для данного браузера. Скачивание и установка не отличаются от предыдущего браузера.
Не так давно Google запретил установку в свой браузер плагинов, скачанных не из Chrome WebStore, поскольку участились случаи с утечкой конфиденциальной информации пользователей. Расширения из магазина проходят несколько проверок, благодаря которым можно быть уверенным в сохранности личной информации.
Браузер Яндекс
Российские разработчики отнеслись к дополнениям намного проще – в каталоге браузера можно найти небольшое количество дополнений, однако установка с доверительных магазинов не запрещена. Пользователи скачивают плагины из Chrome WebStore, что является простым и удобным способом.
Маркетолог, вебмастер, блогер с 2011 года. Люблю WordPress, Email маркетинг, Camtasia Studio, партнерские программы)) Создаю сайты и лендинги под ключ НЕДОРОГО. Обучаю созданию и продвижению (SEO) сайтов в поисковых системах.
10 топовых плагинов для IntelliJ IDEA, которые ты не должен пропустить
Хотя IntelliJ IDEA является полноценной IDE (Интегрированная среда разработки), вы наверняка захотите ее персонализировать. В JetBrains Marketplace есть множество плагинов с полезными функциями, которые могут удовлетворить ваши личные или деловые потребности.
Библиотека огромна, и в ней легко заблудиться. В этой статье мы поделимся недавно появившимися и всеми любимыми плагинами. Нам также интересно узнать, какие плагины любите вы, поэтому, пожалуйста, расскажите о них в комментариях.
Напоминаем, что все плагины можно установить через Настройки/Параметры | Плагины или на вкладке Плагины на экране приветствия.
Многие навигационные действия в дебаггере IntelliJ IDEA позволяют установить точку останова в нужном месте, но иногда необходимо достичь строки одним щелчком мыши. Здесь на помощь приходит плагин Jump To Line. Он позволяет добраться до любой строки и установить там точку выполнения, не выполняя предыдущий код.
Узнайте больше об этом плагине в нашем блоге.
Не секрет, что кодинг без использования мыши быстрее и эффективнее, но как стать ориентированным на клавиатуру, когда в IntelliJ IDEA так много сочетаний клавиш, которые нужно запомнить? Key Promoter X научит вас пользоваться ими. Как настойчивый и дотошный тренер, он отобразит всплывающую подсказку с соответствующим сочетанием клавиш при нажатии на элемент внутри IDE. Более того, для кнопок, не имеющих шортката, Key Promoter X предложит вам создать его.
Практика доведет все до идеала! Через некоторое время вы заметите, что подсознательно экономите время и используете нужный шорткат.
Если вы ищете дополнительные возможности для работы с проектами Maven, этот плагин вам просто необходим. Он позволяет просматривать, анализировать и исключать конфликтующие зависимости. Также можно запускать и отлаживать цели Maven и многое другое. Попробуйте этот 5-звездочный плагин!
Это отличное расширение для часто используемого диалогового окна Search Everywhere. Этот плагин добавляет справочные статьи в список результатов поиска. Просто нажмите на ту, которая кажется подходящей, и она появится в вашем веб-браузере по умолчанию. Это действительно помогает сэкономить кучу времени, поскольку вам больше не придется вручную открывать справку по продукту в браузере и искать статью самостоятельно.
Если вас когда-нибудь раздражали многочисленные повторяющиеся скобки с вложенными элементами, этот плагин станет вашим спасением. Он присваивает каждому набору открывающих и закрывающих скобок свой собственный цвет, облегчая отслеживание того, где начинается и заканчивается блок кода. Поверьте, как только вы попробуете его, вы поймете, что вам все время не хватало именно этого.
Этот плагин полезен как для учащихся, так и для преподавателей. Он позволяет изучать и преподавать языки программирования, такие как Kotlin, Java, Python, JavaScript, Rust, Scala, C/C++ и Go, прямо из IDE. Если вы изучаете программирование, мы призываем вас учиться на практике. Установите плагин, чтобы присоединиться к публичному курсу программирования, доступному в системе. Также вы можете записаться на индивидуальный курс вашего учителя или коллеги по работе. Да, вы не ослышались, плагин Edu Tools позволяет создавать упражнения и делиться ими со своими коллегами.
Установите этот плагин, чтобы присоединиться к более чем полумиллиону людей, которые используют его для оптимизации ежедневного рабочего процесса Git.
Это как фитнес-трекер, но для мониторинга вашей активности в написании кода. Плагин WakaTime предоставляет услугу отслеживания времени, автоматически генерируя изящные метрики и аналитические данные. Используйте его для анализа производительности команды или для поиска путей повышения скорости разработки программ.
Плагин Extra Icons предназначен для тех, кто хочет приукрасить вид проекта. Он добавляет набор значков, которые не поддерживаются IntelliJ IDEA по умолчанию. Они выглядят потрясающе и упрощают навигацию между файлами, поскольку вы можете визуально определить их тип. Кроме того, значки очень легко настраиваются. Вы можете настроить их в Preferences| Settings / Appearance & Behavior/ Appearance/ Extra Icons.
Бонус
В качестве дополнения установите Nyan Progress Bar, чтобы сделать индексирование более спокойным занятием. Если вам не нравится кот Nyan, попробуйте других персонажей, например, Mario или случайного покемона.
Мы надеемся, что эти плагины помогут вам настроить вашу IDE и буду делать вас немного счастливее каждый день. Оставайтесь продуктивными и получайте удовольствие от работы с IntelliJ IDEA!
В преддверии старта курса «Java Developer. Basic» приглашаем всех желающих на бесплатный двухдневный интенсив по теме «Хороший код».
Полезные плагины для IDE — подборки от экспертов
Авторизуйтесь
Полезные плагины для IDE — подборки от экспертов
Современные IDE ушли далеко от обычного блокнота и предоставляют столько возможностей, что про все невозможно знать. Тем не менее, даже с таким букетом фич разработчикам порой не хватает какой-то функциональности, поэтому приходится использовать разные плагины. Спросили у экспертов, какие плагины и расширения они используют в своих IDE
руководитель практики Java центра разработки компании «Рексофт» в Воронеже
В данной подборке я не буду рассматривать плагины и расширения для работы с какими-либо конкретными фрейворками и библиотеками, например, 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 к зрелищности. Не буду раскрывать, что именно он делает, чтобы не портить впечатление — просто попробуйте сами.
руководитель группы Java-разработчиков ИТ-компании КРОК
Мы пользуемся разными 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, разработка которого прекращена.
ведущий Frontend-разработчик IT-компании MediaSoft
Плагины – удобное решение, помогающее гибко подстраивать работу IDE под свои нужды. Если в редакторе отсутствует поддержка какого-либо фреймворка или языка, то это можно исправить установкой необходимых сниппетов и плагинов для поддержки синтаксиса. Если не нравится, как автоматически форматируется твой код и ты уже исчерпал возможности настроек своей IDE, то можно задействовать десятки различных плагинов, реализующих альтернативу встроенному форматированию.
Когда я работал на Visual Studio Code, мне часто требовались плагины для работы с мало распространенными форматами/фреймворками, не имеющими поддержки по умолчанию. Но с переходом на WebStorm я об этом забыл, так как его базовой функциональности вполне достаточно.
Вот несколько плагинов, которыми я сам пользуюсь и могу порекомендовать другим разработчикам:
разработчик программного обеспечения Технологического центра Accenture в Ростове-на-Дону
Сам я работаю на 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.
старший программист «Аэроклуб ИТ»
ReSharper от JetBrains – добавляет массу возможностей в IDE. Например, зачастую избежать ошибок помогает контроль naming convention, причем он может подстраиваться под принятые в проекте соглашения автоматически. Исправление опечаток в ключевых словах: если даже написать какое-либо из них транслитом, например, зкшмфеу вместо private, оно будет заменено на английский. Также он показывает опечатки как в английских, так и русских словах. Кроме того, плагин экономит время тем, что может быстро обернуть целый кусок кода в фигурные скобки, try, foreach и тому подобное, достаточно выделить код, начать вводить название нужного оператора и нажать Enter. При рефакторинге с помощью этого инструмента удобно менять сигнатуру метода: можно изменить не только параметры, но и возвращаемый тип.
CodeMaid – предназначен для «наведения красоты» в коде: очистка от лишних пробелов, форматирование и мое любимое – подсчет цикломатической сложности методов. Именно этой функцией пользуюсь чаще всего, чтобы стараться поддерживать код читабельным и понятным.
WakaTime – нужен для контроля времени работы: пока пишу код, он шлет в одноименный сервис информацию о том, как долго я работаю, с каким проектом, в каком файле и даже в какой ветке. Благодаря этому можно увидеть, сколько часов в день уходит непосредственно на код, что поможет посчитать реальный объем трудозатрат на ту или иную задачу.
Productivity Power Tools – плагин, который используют некоторые коллеги. Его особенности – предупреждение о смешивании «табов» и «пробелов»; «подсветка» выделенной переменной во всем файле с добавлением маркеров на scrollbar, чтобы ориентироваться, где еще в коде она используется; отображение наличия ошибок в файлах прямо в Solution Explorer; «раскраска» открытых вкладок в зависимости от проекта и еще множество полезных функций.
Со временем многие из нас отказываются от тех или иных расширений IDE, поскольку каждое из них добавляет нагрузку на среду разработки, из-за чего появляются задержки в обработке проектов, особенно больших, и, как следствие, теряется их цель – увеличение продуктивности разработчика. Кроме того, по мере обновления IDE часто появляются новые функции, которыми можно пользоваться и без плагинов. Об этих двух факторах следует помнить, прежде чем расширять свою среду разработки, и не «накидывать» в нее все подряд.