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

Доступен PhpStorm 2018.3

Доступен PhpStorm 2018.3 - 1 [1]

Всем привет! Мы рады представить вам третий мажорный релиз PhpStorm в этом году. Добавлены поддержка DQL, PHP CS Fixer, деплоймент на множество хостов одновременно, пулреквесты GitHub, новые рефакторинги и много других улучшений.

Обзор релиза можно посмотреть на странице “What’s new [2]”. Скачать новую версию можно там же или с помощью Toolbox App [3]. Как всегда, доступна 30-дневная пробная версия. Полную же версию могут использовать обладатели действующей подписки [4] на PhpStorm или All Products pack, а также студенты [5] и разработчики [6] проектов с открытым исходным кодом.

Под катом обзор основных нововведений. (Осторожно, много картинок)

Поддержка DQL

Doctrine Query Language – это язык запросов объектной модели, который позволяет создавать запросы к базе данных, используя имена PHP классов и свойств. В PhpStorm 2018.3 реализована продвинутая поддержка DQL. Сущности и свойства работают как реальные ссылки и все соответствующие действия над ними тоже доступны: поиск использований, переход к объявлению, быстрое переименование, работа с ассоциациями (отношения) и многое другое.

Доступен PhpStorm 2018.3 - 2

Для обычной строки необходимо добавить инъекцию языка с помощью аннотации /** @lang DQL */. В случае если используется Nowdoc / Heredoc, то можно использовать маркер DQL.

В следующих версиях мы планируем развивать поддержку DQL, поэтому будем очень благодарны за ваши отзывы!

PHP 7.3

Финальный релиз PHP 7.3.0 ожидается уже 6 декабря, поэтому мы заблаговременно реализовали поддержку всех новых конструкций в PhpStorm: гибкий синтаксис Heredoc/Nowdoc [7], завершающие запятые в вызовах функций и методов [8], литералы в качестве первого операнда instanceof [9] и присвоение с помощью list() по ссылке [10].

Доступен PhpStorm 2018.3 - 3

Справедливости ради стоит заметить, что поддержка PHP 7.3 доступна и в предыдущей версии 2018.2 начиная с обновления 2018.2.5.

Поддержка PHP CS Fixer

В PhpStorm уже была поддержка PHP_CodeSniffer, который помогает находить нарушения правил стиля кодирования. Однако исправлять эти ошибки вручную не так удобно. Особенно в большой кодовой базе или легаси-проекте. Теперь, с поддержкой PHP CS Fixer в PhpStorm, нужно лишь добавить PHP CS Fixer в качестве зависимости в composer.json и запустить composer install. Соответствующая инспекция в PhpStorm включится автоматически. После этого в файле с нарушениями правил можно запустить quick-fix, который сразу исправит все ошибки в файле.

Доступен PhpStorm 2018.3 - 4

Упрощенная настройка инструментов качества

В PhpStorm теперь есть поддержка трех инструментов: PHPCS, PHPMD, PHP CS Fixer. Для удобства мы объединили настройки всех инструментов на странице Preferences | Language & Frameworks | PHP | Quality Tools.

Автоматический выбор стандартов для PHP_CodeSniffer

На основе зависимостей вашего composer.json, PhpStorm автоматически определит следующие стандарты кодирования: Symfony, Doctrine, Drupal, WordPress, Joomla!, Magento, MediaWiki, Yii 2, and CakePHP.

Новые рефакторинги

Replace with Alias
Представьте, что у вас есть какой-то импорт, например use FooBar. С помощью нового рефакторинга вы можете ввести алиас и заменить импорт, скажем, на use FooBar as Baz, при этом все вхождения Bar будут заменены на Baz автоматически.

Доступен PhpStorm 2018.3 - 5

Доступно и обратное действие – Inline Alias, которое уберет избыточный алиас. Кроме того, алиасы теперь отображаются курсивом, чтобы их было проще отличить визуально от настоящих классов.

Change Class Member Visibility

С помощью этого рефакторинга можно быстро и безопасно изменить модификатор видимости метода или свойства (public / protected / private). PhpStorm проанализирует использования выбранного метода или свойства, и предупредит, если есть места, где изменение невозможно и вызовет ошибку.

Доступен PhpStorm 2018.3 - 6

Деплоймент на несколько хостов

PhpStorm поддерживает деплоймент на удаленную машину через FTP/SFTP/FTPS, или в примонтированную папку. Иногда может потребоваться скопировать файлы на множество хостов сразу. Например, если у вас несколько инстансов приложения, или части приложения расположены на разных хостах. В PhpStorm 2018.3 мы добавили группы серверов, чтобы решить эту задачу. Вы можете добавить сколько угодно групп, и в каждую из них добавить сколько угодно хостов. После этого при деплойменте выберите группу и файлы будут отправлены на все хосты группы одновременно.

Доступен PhpStorm 2018.3 - 7

Улучшения для функций форматирования строк

Работать с функциями printf() / sprintf() стало приятней благодаря подсветке плейсхолдеров и значений при наведении курсора. Также PhpStorm предупредит, если число параметров не совпадает с числом плейсхолдеров.

Кстати, в 2019 году мы планируем реализовать возможность описывать свои кастомные функции форматирования. Подписывайтесь на блог [11] или Твиттер @phpstorm [12], чтобы следить за новостями.

Пулреквесты GitHub

Теперь можно просматривать пулреквесты GitHub, не покидая PhpStorm. Выберите в меню VCS | Git | View Pull Requests, и откроется окно со списков пулреквестов вашего проекта. Тут же можно создать локальную ветку из пулреквеста.

Доступен PhpStorm 2018.3 - 8

Кроме того была добавлена поддержка подмодулей Git, возможность игнорировать символы пробела при слиянии изменений, а также загружать изменения из нескольких репозиториев одновременно, и многое другое.

Веб-технологии

PhpStorm включает в себя все нововведения и улучшения WebStorm [13], среди которых:

  • Автоимпорты в JavaScript
  • Улучшилась поддержка шаблонов Angular: стали точнее автодополнение и навигация
  • Поддержка Vuetify
  • Для React-приложений улучшено автодополнение, а механизм инспекций предупредит о неопределенных компонентах

Подробнее обо всех улучшениях от команды WebStorm – на сайте [13].

Улучшения IDE

Search Everywhere

Если вам нужно что-либо найти, нажмите Shift-Shift и начните печатать. В обновленном диалоге поиска Search Everywhere добавлены табы для поиска по классам, файлам, символам и IDE (настройками и доступным действиям). Переключать области поиска можно нажатием Tab.

Доступен PhpStorm 2018.3 - 9

Новая высококонтрастная тема для людей с ограниченными возможностями.

Доступен PhpStorm 2018.3 - 10

Из приятных мелочей:

  • Многострочные TODO комментарии
  • Многострочный поиск в Find in Path
  • В терминале теперь после закрытия PhpStorm сохраняются имена открытых табов и текущие рабочие директории!

Базы данных

Как всегда, PhpStorm включает в себя все фичи от команды DataGrip:

  • Поддержка Cassandra (а еще, начиная с 2018.2.2, и ClickHouse)
  • Масса улучшений в автодополнении
  • Поддержка расширений PostgreSQL
  • Возможность быстро задавать псевдонимы таблиц
    Доступен PhpStorm 2018.3 - 11

Прочие улучшения

  • В окне отладчика теперь можно быстро найти переменную, просто начав печатать её имя.
  • При запуске HTTP-запросов автоматически создаются и конфигурации запуска. Такие конфигурации можно также создавать вручную.
  • При разработке PHPUnit-тестов появилась возможность генерировать тестовые методы, а также методы setUp и tearDown, запускаемые перед и после теста, соответственно.
  • PhpStorm 2018.3 автоматически настроит среды тестирования (PHPUnit, Codeception, Behat, PHPSpec) на основе composer.json и файлов конфигурации, а также создаст соответствующие конфигурации запуска.

Пожалуй, это все, о чем мы хотели бы вам рассказать. Но это далеко не все, что вошло в релиз. Полный список изменений, как всегда, можно найти в очень большом release notes [14]. Сообщайте о проблемах в нашем трекере [15], ну или просто оставляйте свои комментарии под этим постом или в нашем блоге [16].

Спасибо за внимание!
Команда JetBrains PhpStorm

Автор: pronskiy

Источник [17]


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

Путь до страницы источника: https://www.pvsm.ru/php-2/300055

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

[1] Image: https://habr.com/company/JetBrains/blog/430878/

[2] What’s new: https://www.jetbrains.com/phpstorm/whatsnew/

[3] Toolbox App: https://www.jetbrains.com/toolbox/app/

[4] действующей подписки: https://www.jetbrains.com/webstorm/buy

[5] студенты: https://www.jetbrains.com/student/

[6] разработчики: https://www.jetbrains.com/buy/opensource/?product=phpstorm

[7] гибкий синтаксис Heredoc/Nowdoc: https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes

[8] завершающие запятые в вызовах функций и методов: https://wiki.php.net/rfc/trailing-comma-function-calls

[9] литералы в качестве первого операнда instanceof: https://github.com/php/php-src/blob/PHP-7.3/UPGRADING#L179

[10] присвоение с помощью list() по ссылке: https://wiki.php.net/rfc/list_reference_assignment

[11] блог: https://blog.jetbrains.com/phpstorm/

[12] Твиттер @phpstorm: https://twitter.com/phpstorm

[13] все нововведения и улучшения WebStorm: https://www.jetbrains.com/webstorm/whatsnew/

[14] release notes: https://confluence.jetbrains.com/display/PhpStorm/PhpStorm+2018.3+Release+Notes

[15] нашем трекере: https://youtrack.jetbrains.com/oauth?state=%2Fissues%2FWI

[16] блоге: https://blog.jetbrains.com/phpstorm/2018/11/phpstorm-2018-3-release/

[17] Источник: https://habr.com/post/430878/?utm_campaign=430878