Сегодня достаточно интересный день.
- Релиз PHP 7.2.0
- Релиз Symfony 3.4 и 4.0
- Релиз PhpStorm 2017.3
В жалкой попытке сделать его ещё немного интереснее, опубликую здесь список плагинов, которые я использую при работе в PhpStorm.
Мини-предисловие
Этот список плагинов не является полным или обязательным для установки. Это всего лишь «снапшот» части текущего списка плагинов, о которой я решил рассказать. Я мог случайно написать здесь о плагине идущем «из коробки» или счесть за такой плагин стороннюю разработку и не указать его. Перед установкой каждого плагина стоит почитать о нём и оценить, нужен ли он лично вам. Также могу рекомендовать поискать в репозиториях плагинов ключевые слова, имеющие отношение к вашей работе — это может сделать работу значительно комфортнее в мелочах. Впрочем, если вы купили PhpStorm то, наверное, объяснять это нет необходимости.
Суть
.env files support
До проектов на PHP дошла идея унифицировать конфигурацию среды приложения через переменные среды. В том же Symfony 3.3 (4.0 и Flex) компонент Dotenv уже можно использовать для конфигурации.- .ignore
Последнее время я почти не пользуюсь функциональностью генерации файлов .gitignore, но он всё ещё помогает мне автодополнением путей - BashSupport
Зачастую для автоматизации бывает полезно писать скрипты для шелла. Этот плагин может сделать более комфортной и эту задачу. Bitbucket Linky
При разработке с использованием Bitbucket в качестве хостинга для кода позволяет быстро получить ссылку на директорию, файл, коммит или строчку прямо из контекстного меню или по горячей клавише. А ещё позволяет из таба с изменениями в панели Version Control сразу создать Pull Request — этой фичей я пользуюсь очень часто.- Bootstrap 3
Обширный набор live templates для Bootstrap 3/4 - Command Line Tool Support
Интеграция CLI-инструментов в IDE. Со временем я перестал им пользоваться перейдя на выпадающие консоли типа Guake (Yakuake, Tilda, etc) и GNU Screen, но кому-то он может быть полезен. - DynamicReturnTypePlugin
Плагин, который улучшает анализ и отображение возвращаемого типа у функций и методов различными методами (дополнительный анализ кода, JSON-схемы). - EditorConfig
Как и с .env file support, это очередная инициатива по унификации, только в данном случае для конфигурации текстового редактора или IDE EmmetEverywhere
Плагин, который может пригодиться тем, кому приходится создавать много однотипной (и не очень) вёрстки. Даёт возможность использовать Emmet (развитие Zen Coding, интуитивно понятного CSS-like синтаксиса и генератора кода HTML).- Go language (golang.org) support plugin
Добавляет базовую поддержку Go в PhpStorm. К сожалению, раньше плагин был более функциональным, но теперь, когда JetBrains выпустили отдельную IDE для Go (GoLand), придётся либо переходить на неё, либо довольствоваться тем, что есть. - JavaScript Intention Power Pack
Добавляет пачку различных интеншнов в редактор JavaScript. Лично я пользуюсь редко, т.к. больше работаю с бэкендом. JSONOnlineViewer
Может быть полезен, например, при отладке API.- Markdown support
Полезно при написании README.md и прочих. - Mongo Plugin
Интегрирует простенький интерфейс для MongoDB в IDE по аналогии с «Database Tools and SQL». - Options completion plugin
Парсит описание ассоциативных массивов phpDoc и использует эти данные в автодополнении. - PHP 1Up!
Пачка инспеций, шорткатов и других плюшек. PHP Advanced AutoComplete
Автодополнение параметров встроенных в PHP функций.- PHP Annotations
Увеличение удобства работы с аннотациями, автоматический импорт недостающих классов, алиасы и т.п. Особенно полезно при работе с Symfony и Doctrine ORM. - PHP composer.json support
Валидация, инспекции, автодополнение и полезные советы (добавить roave/security-advisories) при работе с composer.json. - PHP inheritDoc helper
Сворачивает inheritDoc, отображая поверх него данные из родительского описания и даёт рекомендации, когда стоит его добавить. Php Inspections (EA Extended)
Статический анализатор. Добавляет большое количество полезных инспекций, позволяющих улучшить, упростить и сделать более предсказуемым и безопасным ваш код. Также в ноябре этого года появилась расширяющая функциональность платная версия, фокусирующаяся на производительности, поддерживаемости кода и безопасности, возникшая, пожалуй, вследствии таких размышлений автора.
Как минимум бесплатную (EA Extended) версию плагина спокойно можно записать в «must have».- PHP RegExp Support
- PHP Toolbox
Ещё одни плюшки для автодополнения и анализа типов. Позволяют использовать свою конфигурацию. - PHPUnit Autocomplete Assistant
Rainbow Brackets
Этим плагином я начал пользоваться совсем недавно. Он позволяет раскрашивать все скобки в различные цвета попарно. Это даёт возможность быстро визуально оценить логическое разделение в блоках или сложных условиях, где раньше могло понадобиться поставить курсор на конкретную скобку для того чтобы IDE подсветила её пару. К сожалению, плагин не особо ударяется в анализ кода и просто красит скобки попарно, поэтому в качестве побочного эффекта можно наблюдать идущие друг за другом строчки кода, где единственные скобки покрашены в разные цвета.- REST Client
Это встроенный в PhpStorm плагин. Однако, если вы раньше им не пользовались — стоит попробовать. Он может прилично упростить отладку API и другие подобные задачи. - SensioLabsInsight
Интеграция сервиса анализа качества кода от SensioLabs (разработчики Symfony) в PhpStorm. Symfony Plugin
Плагин улучшающий поддержку фреймворка Symfony версий 2.* и выше в PhpStorm. Анализируя кеш Symfony добавляет различную функциональность связанную с автодополнением (конфигурации контейнера DI, DQL-запросов, путей шаблонов и ресурсов, расширений Twig и т.п.) и переходами по коду. При разработке на Symfony — «must have». Также вместе с ним стоит использовать родной Framework MVC Structure Suppor.
Какое-то время назад вобрал в себя также функциональность другого плагина, ранее известного как Symfony2 — Clickable Views- Task Management
Также как и REST Client встроен в PhpStorm. Позволяет интегрироваться с таск-трекерами (Redmine, Jira и прочими), делать автодополнение связанное с задачами, а также управлять контекстами разработки (если не пробовали — попробуйте!), автоматически создавать и переключать ветки согласно задачам, генерировать сообщения для коммитов, вести тайм-трекинг (с помощью дополнительного плагина Time Tracking) и прочее.
Это, конечно, не все плагины, которые включены у меня в данный момент, но те, о которых мне захотелось рассказать и посоветовать их попробовать. Если у вас есть какие-то поправки, дополнения или вы хотите рассказать о плагине, который лично вам очень помогает увеличить производительность или сэкономить нервы — прошу в комментарии к посту.
Продуктивной и комфортной вам работы!