+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новости

PhpStorm 2019.2: JetBrains выпустила второй мажорный релиз PhpStorm в этом году

PhpStorm 2019.2: JetBrains выпустила второй мажорный релиз PhpStorm в этом году

JetBrains представила второй мажорный релиз PhpStorm в этом году!

Обзор релиза можно посмотреть на странице “What’s new”. 

Скачать новую версию PhpStorm можно на сайте JetBrains или с помощью Toolbox App. Как всегда, доступна 30-дневная пробная версия. Полную же версию могут использовать обладатели действующей подписки на PhpStorm или All Products pack, а также бесплатно студенты и разработчики проектов с открытым исходным кодом.

PHP 7.4: типизированные свойства

PHP 7.4 обещает быть самым крутым и богатым на новые возможности релизом со времен PHP 7.0! Посмотрите на все принятые в нем RFC.

Самая ожидаемая фича это, конечно же, типизированные свойства, и PhpStorm 2019.2 уже полностью их поддерживает! Включая подсветку, вывод и резолв типов, а также всевозможные проверки.

Если вы попытаетесь положить в свойство что-то не то — PhpStorm сразу об этом предупредит.

А вот чтобы подготовиться к миграции на PHP 7.4, который выйдет в конце ноября, в PhpStorm есть быстрые фиксы. Для объявления типа можно нажать Alt+Enter на свойстве без типа и выбрать Add declared type for the field. PhpStorm определит тип свойства на основе информации в PHPDoc, дефолтном значении или декларации типа аргумента, если свойство внедряется через конструктор.

Оператор ??= (null coalesce assign)

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

В PhpStorm, само собой, поддерживается синтаксис, но еще есть быстрый фикс Alt+Enter для того, чтобы заменить ?? там, где это возможно:

Оператор распаковки (...) в массивах

PHP поддерживает распаковку аргументов с помощью оператора  еще с версии 5.6. В предстоящем релизе PHP оператор можно будет использовать и в массивах:

PhpStorm проанализирует использование оператора на корректность и удостоверится, что вы распаковываете только массивы или объекты Traversable и не пытаетесь по ошибке сделать что-то не поддерживаемое интерпретатором PHP

Автовнедрение регулярных выражений в PHP

В предыдущих версиях PhpStorm регулярные выражения в PHP-коде по умолчанию никак не подсвечивались и отображались как обычные строки. Конечно, можно было внедрить язык RegExp вручную, но не будешь же делать это по всему проекту.

В PhpStorm 2019.2 добавлена полная поддержка регулярок в PHP! Это значит, что там, где в коде используются функции preg_*, шаблоны будут подсвечиваться и проверяться на валидность.

Более того, теперь можно протестировать регулярное выражение прямо в IDE! Наведите указатель на шаблон, нажмите Alt+Enter и вызовите Check RegExp.

Подсветка дублированного кода на лету

Поиск дубликатов в PhpStorm есть уже довольно давно, в меню Code → Locate Duplicates. Если вы пока его не пробовали, попробуйте — и удивитесь, как много повторений может быть в проекте!

В этом релизе анализ на дублирование вышел на новый уровень и работает на лету прямо в редакторе. Если вы многократно скопировали или случайно написали одинаковые куски, то узнаете об этом мгновенно.

Вы сможете перейти к другому дубликату или просмотреть все списком в отдельном окне

Новая инспекция называется Duplicated code fragment и включена по умолчанию. Порог чувствительности можно установить в разделе Preferences | Editor | Inspections | General | Duplicated code fragment → PHP. А в Preferences | Editor | Duplicates можно установить, какие элементы будут игнорироваться при поиске дубликатов, например можно не учитывать разные имена переменных, методов или свойств, а также значений констант.

Поддержка формата PHPT

Хотели бы контрибьютить в сам PHP и присоединиться к PHP Internals? Лучший способ — начать с документации и тестов! К счастью, для этого нет необходимости знать C. Тесты для PHP пишутся в специальных файлах .phpt. По сути, это текстовый файл, разбитый на несколько секций, некоторые из которых могут содержать PHP-код.

Так вот, в PhpStorm 2019.2 есть и поддержка phpt-файлов! Секции подсвечиваются, PHP и INI автоматически внедряются там где нужно, работают переходы на внешние файлы в соответствующих секциях.

Запуск Composer через любой PHP-интерпретатор

Ранее для запуска Composer всегда нужен был локальный интерпретатор PHP. Проблема в том, что его может не быть вовсе или окружение может не соответствовать продакшену. Теперь в PhpStorm 2019.2 запускать Composer можно через любой интерпретатор, сконфигурированный в IDE. Например, через Docker, Docker-compose, Vagrant или, скажем, удаленный сервер по SSH.

Чтобы попробовать эту возможность, выберите Remote Interpreter в настройках Preferences | Languages & Frameworks | PHP | Composer.

Предпросмотр для структурного поиска (Structural Search)

Структурный поиск, или коротко SSR, — это мощный инструмент, который позволяет искать куски кода не только как текст, но как маленькие синтаксические деревья, при этом указывая типы узлов или другие фильтры. Попробуйте его: Edit → Find → Search Structurally…

Проблема со структурным поиском в том, что описать шаблон поиска может быть нетривиальной задачей. В PhpStorm 2019.2, к счастью, теперь можно видеть подсветку в реальном времени в редакторе. Нет необходимости запускать поиск снова и снова, чтобы отладить шаблон.

Представьте, например, что вы хотите найти все вызовы определенного метода у класса, но только такие, в которых в качестве параметра передается объект другого определенного класса. Обычным поиском найти такое будет сложно, а с SSR — на раз!

HTTP клиент

Поддержка формата cURL

Почти все веб-инструменты для разработки и документации сейчас предоставляют возможность скопировать запрос как cURL-строку.

Теперь эту строку можно использовать в PhpStorm. Создайте файл с расширением .http или новый HTTP-request scratch file с помощью сочетания клавиш Cmd+Shift+N (Ctrl+Shift+Alt+Insert), и затем вставьте строку запроса cURL. Она автоматически будет сконвертирована в полный запрос, и дальше можно удобно экспериментировать с заголовками и другими параметрами запроса.

Подсветка синтаксиса для более чем 20 языков

Если у вас в проекте есть файлы на других языках программирования кроме PHP и JavaScript, то PhpStorm 2019.2 вы будете приятно удивлены подсветке синтаксиса для Python, Ruby, Go и целой пачки других языков. Это работает из коробки и никаких дополнительных настроек не требует.

PhpStorm, как всегда, включает в себя все обновления из WebStorm и из DataGrip. А полный список изменений можно найти в очень больших release notes.

Другие новости

Лучшая цена