Всем привет!
Буквально вчера вышла новая версия PhpStorm, вторая в этом году. Я надеюсь, что ни наша IDE, ни компания JetBrains в отдельном представлении на Хабре не нуждаются, поэтому сразу перейду к основным изменениям. Кстати, чтобы не терять времени даром, можете поставить пробную 30-дневную версию на загрузку и читать дальше. Поехали!
Улучшенная поддержка языка PHP
PhpStorm научился еще лучше выводить типы (type inference) массивов и итераторов. Тип переменных теперь уточняется из кода, например, при использовании оператора instanceof. Также улучшения коснулись .phpstorm.meta.php.
Добавлена инспекция для строгой проверки типов PHP 7. При наличие в коде директивы declare(strict_types=1); PhpStorm будет предупреждать о соответствующих ошибках TypeError. Более подробно о ней вы можете прочитать в нашем блоге на английском языке.
Улучшения коснулись и парсинга. В частности, появилась поддержка универсального синтаксиса работы с переменными. Нововведением является поддержка PHP 7.1, выход которого ожидается в конце этого года.
Генерация аксессоров теперь поддерживает типы аргументов и возвращаемый тип. Уровень языка в проекте должен быть PHP 7 или выше.
Удобство редактирования
Значения констант показываются в списке автодоплнения рядом с их именами. Статические методы фильтруются при первом вызове автодополнения в динамическом контексте, но нажатие Ctrl + Space возвращает все как было (привет, PHPUnit).
Добавлен динамический шаблон для автодополнения параметров функций, методов и конструкторов. Он может быть вызван как с помощью ключевого слова params из списка автодоплнения, так и автоматически при вставке функции (необходимо включить отдельно в настройках: Settings → Editor → General → Smart Keys → Enable smart function parameters completion).
IDE теперь поддерживает умное автодополнение кода на основе типов (Smart Type Code Completion). Нажатие Ctrl + Shift + Space оставит в списке автодополнения только элементы, тип которых соответствует контексту. Тип контекста также учитывается при сортировке списка.
Унифицирована генерация и валидация PHPDoc тега @throws. Соответствующие настройки теперь живут по новому адресу Settings → Editor → Code Style → PHP → PHPDoc и позволяют выбирать глубину анализа дерева вызовов. Чуть более подробно здесь (на англ.).
Анализ качества кода
Импорты не только классов, но и функций, констант и пространств имен теперь могут быть отмечены как неиспользуемые. Они будут удалены при форматировании кода, если включена опция Optimize imports.
В дополнение к строгой проверке типов, PhpStorm обзавелся инспекцией для проверки типа возвращаемого значения функции. Она запускается при любом установленном уровне языка и учитывает не только сигнатуру функции, но и PHPDoc тег @return.
Еще одна новая инспекция рапортует о случаях, когда статический метод вызывается с помощью “->”. Она выключена по умолчанию, потому что PHPUnit (см. выше). Включить ее можно здесь: Settings → Editor → Inspections → Static method called as dynamic.
Фреймворки и инструменты
PhpStorm 2016.2 позволяет сохранить произвольный проект как шаблон (Tools → Save Project as Template…), чтобы впоследствии использовать его при создании нового проекта (File → New Project...).
IDE теперь поставляется вместе с новым плагином, который добавляет поддержку Joomla!. А именно: стиль кода, JHtml::_($argument), JText::_($argument), префикс БД и прочее.
Для того чтобы улучшить производительность интерпретатора, PhpStorm позволяет включать Xdebug только по требованию, пост в поддержку (на англ.).
Современные веб-технологии
Как обычно, PhpStorm 2016.2 влючает в себя все улучшения WebStorm 2016.2 сразу или при помощи плагинов. Например, TypeScript 2.0.
Добавлена поддержка Angular CLI и фрагментов кода (code snippets, они же live templates) для Angular 2.
Изображения, JavaScript-файлы и CSS-файлы теперь можно перетащить мышкой в открытый HTML-файл, и соответствующий тег будет вставлен автоматически.
Новые возможности и усовершенствования IntelliJ Platform
Работа с патчами, улучшенная вкладка Log для Git и Mercurial и другие изменения, связанные с системами контроля версий, уже описывались на Хабре и доступны в новейшей версии IDE.
UI претерпел ряд эволюционных изменений. Например, мы объединили вкладку Watches с вкладкой Variables в отладчике; уведомления переехали в правый нижний угол и группируются по типам; а также теперь можно установить произвольную картинку фона редактора.
IDE теперь “умеет” лигатуры. Просто скачайте и установите соответствующий шрифт (например, FiraCode), после чего включите соответствующую опцию в Settings → Editor → Colors & Fonts → Font (флажок Enable font ligatures).
Благодаря нашим коллегам из команды DataGrip, поддержка баз данных в PhpStorm также была улучшена. Встречайте автодополнение имен баз данных в диалоге настроек Data Source and Drivers, контекстно-зависимое автодополнение SQL и многое другое.
В заключение
Мы подготовили видео (на англ.), демонстрирующее все изменения и улучшения:
Бесплатное обновление до версии 2016.2 доступно всем, у кого есть активная подписка на PhpStorm или All Products.
Посетите страницу What’s New, скачайте новую версию, оставляйте свои комментарии здесь или в блоге PhpStorm, а также подписывайтесь на наш твиттер-аккаунт.
Программируйте с удовольствием!
— Команда JetBrains PhpStorm
Автор: JetBrains