- PVSM.RU - https://www.pvsm.ru -

Выпущен PhpStorm 2016.2

Всем привет!

Буквально вчера вышла новая версия PhpStorm [1], вторая в этом году. Я надеюсь, что ни наша IDE, ни компания JetBrains в отдельном представлении на Хабре не нуждаются, поэтому сразу перейду к основным изменениям. Кстати, чтобы не терять времени даром, можете поставить пробную 30-дневную версию на загрузку [2] и читать дальше. Поехали!

image [3]

Улучшенная поддержка языка PHP

PhpStorm научился еще лучше выводить типы (type inference) массивов и итераторов. Тип переменных теперь уточняется из кода, например, при использовании оператора instanceof. Также улучшения коснулись .phpstorm.meta.php.

image

Добавлена инспекция для строгой проверки типов PHP 7. При наличие в коде директивы declare(strict_types=1); PhpStorm будет предупреждать о соответствующих ошибках TypeError. Более подробно о ней вы можете прочитать в нашем блоге [4] на английском языке.

image

Улучшения коснулись и парсинга. В частности, появилась поддержка универсального синтаксиса работы с переменными. Нововведением является поддержка PHP 7.1, выход которого ожидается в конце этого года.

image

Генерация аксессоров теперь поддерживает типы аргументов и возвращаемый тип. Уровень языка в проекте должен быть PHP 7 или выше.

image

Удобство редактирования

Значения констант показываются в списке автодоплнения рядом с их именами. Статические методы фильтруются при первом вызове автодополнения в динамическом контексте, но нажатие Ctrl + Space возвращает все как было (привет [5], PHPUnit).

Выпущен PhpStorm 2016.2 - 6

Добавлен динамический шаблон для автодополнения параметров функций, методов и конструкторов. Он может быть вызван как с помощью ключевого слова params из списка автодоплнения, так и автоматически при вставке функции (необходимо включить отдельно в настройках: Settings → Editor → General → Smart Keys → Enable smart function parameters completion).

image

IDE теперь поддерживает умное автодополнение кода на основе типов (Smart Type Code Completion). Нажатие Ctrl + Shift + Space оставит в списке автодополнения только элементы, тип которых соответствует контексту. Тип контекста также учитывается при сортировке списка.

image

Унифицирована генерация и валидация PHPDoc тега @throws. Соответствующие настройки теперь живут по новому адресу Settings → Editor → Code Style → PHP → PHPDoc и позволяют выбирать глубину анализа дерева вызовов. Чуть более подробно здесь [6] (на англ.).

image

Анализ качества кода

Импорты не только классов, но и функций, констант и пространств имен теперь могут быть отмечены как неиспользуемые. Они будут удалены при форматировании кода, если включена опция Optimize imports.

image

В дополнение к строгой проверке типов, PhpStorm обзавелся инспекцией для проверки типа возвращаемого значения функции. Она запускается при любом установленном уровне языка и учитывает не только сигнатуру функции, но и PHPDoc тег @return.

image

Еще одна новая инспекция рапортует о случаях, когда статический метод вызывается с помощью “->”. Она выключена по умолчанию, потому что PHPUnit (см. выше). Включить ее можно здесь: Settings → Editor → Inspections → Static method called as dynamic.

image

Фреймворки и инструменты

PhpStorm 2016.2 позволяет сохранить произвольный проект как шаблон (Tools → Save Project as Template…), чтобы впоследствии использовать его при создании нового проекта (File → New Project...).

image

IDE теперь поставляется вместе с новым плагином, который добавляет поддержку Joomla!. А именно: стиль кода, JHtml::_($argument), JText::_($argument), префикс БД и прочее.

image

Для того чтобы улучшить производительность интерпретатора, PhpStorm позволяет включать Xdebug только по требованию, пост [7] в поддержку (на англ.).

image

Современные веб-технологии

Как обычно, PhpStorm 2016.2 влючает в себя все улучшения WebStorm 2016.2 сразу или при помощи плагинов. Например, TypeScript 2.0.

image

Добавлена поддержка Angular CLI и фрагментов кода (code snippets, они же live templates) для Angular 2.

image

Изображения, JavaScript-файлы и CSS-файлы теперь можно перетащить мышкой в открытый HTML-файл, и соответствующий тег будет вставлен автоматически.

image

Новые возможности и усовершенствования IntelliJ Platform

Работа с патчами, улучшенная вкладка Log для Git и Mercurial и другие изменения, связанные с системами контроля версий, уже описывались [8] на Хабре и доступны в новейшей версии IDE.

image

UI претерпел ряд эволюционных изменений. Например, мы объединили вкладку Watches с вкладкой Variables в отладчике; уведомления переехали в правый нижний угол и группируются по типам; а также теперь можно установить произвольную картинку фона редактора.

image

IDE теперь “умеет” лигатуры. Просто скачайте и установите соответствующий шрифт (например, FiraCode [9]), после чего включите соответствующую опцию в Settings → Editor → Colors & Fonts → Font (флажок Enable font ligatures).

image

Благодаря нашим коллегам из команды DataGrip, поддержка баз данных в PhpStorm также была улучшена. Встречайте автодополнение имен баз данных в диалоге настроек Data Source and Drivers, контекстно-зависимое автодополнение SQL и многое другое.

image

В заключение

Мы подготовили видео (на англ.), демонстрирующее все изменения и улучшения:

Бесплатное обновление до версии 2016.2 доступно всем, у кого есть активная подписка на PhpStorm или All Products.

Посетите страницу What’s New [1], скачайте [2] новую версию, оставляйте свои комментарии здесь или в блоге [10] PhpStorm, а также подписывайтесь на наш твиттер-аккаунт [11].

Программируйте с удовольствием!
— Команда JetBrains PhpStorm

Автор: JetBrains

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/156357

Ссылки в тексте:

[1] PhpStorm: https://www.jetbrains.com/phpstorm/whatsnew/

[2] загрузку: https://www.jetbrains.com/phpstorm/download/

[3] Image: https://habrahabr.ru/company/JetBrains/blog/305688/

[4] блоге: https://blog.jetbrains.com/phpstorm/2016/07/php-7-support-in-phpstorm-2016-2/

[5] привет: https://github.com/sebastianbergmann/phpunit/issues/1914

[6] здесь: https://blog.jetbrains.com/phpstorm/2016/07/docblock-improvements-for-throws-in-phpstorm-2016-2/

[7] пост: https://blog.jetbrains.com/phpstorm/2016/06/xdebug-on-demand-for-cli-php-scripts-in-phpstorm-2016-2-eap/

[8] описывались: https://habrahabr.ru/company/JetBrains/blog/303466/

[9] FiraCode: https://github.com/tonsky/FiraCode

[10] блоге: https://blog.jetbrains.com/phpstorm/2016/07/phpstorm-2016-2-is-released/

[11] твиттер-аккаунт: https://twitter.com/phpstorm

[12] Источник: https://habrahabr.ru/post/305688/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best