Сегодня достаточно интересный день.
- Релиз 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) и прочее.
Это, конечно, не все плагины, которые включены у меня в данный момент, но те, о которых мне захотелось рассказать и посоветовать их попробовать. Если у вас есть какие-то поправки, дополнения или вы хотите рассказать о плагине, который лично вам очень помогает увеличить производительность или сэкономить нервы — прошу в комментарии к посту.
Продуктивной и комфортной вам работы!