Что нового в PhpStorm 2022.2

PhpStorm 2022.2 — большое обновление, в котором вас ждет поддержка Mockery и Rector, расширенная поддержка дженериков и перечислений, улучшения в отладчике и HTTP-клиенте и многое другое.

Поддержка Mockery

PhpStorm 2022.2 introduces support for Mockery, the popular mock object framework. Для большинства возможностей Mockery работает автодополнение, доступны инспекции, упрощающие рабочий процесс, и многое другое.

Поддержка Rector

A second major addition in this release is support for Rector, the automation tool for managing PHP upgrades and bulk refactorings.

Теперь вы можете запускать Rector из IDE, управлять его конфигурацией и просматривать изменения в файлах на панели Diff.

Дженерики PHP

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

Подсветка assert-вызовов в тестах, которые ломают тесты

Если один из вызовов assert в тестах не прошел проверку, PhpStorm выделит строку, на которой произошла ошибка, и вы сможете повторно запустить тест на этой же строке.воспользовавшись подсказкой в контекстном меню. Просто нажмите Alt+Enter на строке, вызвавшей ошибку, чтобы еще раз запустить именно этот тест.

Создание перечислений

Теперь вы можете создавать перечисления в диалоге Create Class. Убедитесь, что в проекте выбрана PHP 8.1 или более поздняя версия, иначе опция Enum не будет отображаться в диалоге.

Улучшения отладчика

Мы внесли несколько важных изменений в интерфейс отладчика, чтобы нужные данные всегда были на виду.

При отладке объекта псевдопеременная $this всегда отображается наверху в панели Variables:

Кроме того, в панели переменных мы показываем содержимое массива — не нужно открывать его вручную:

И наконец, когда объект реализует метод __toString(), вы будете видеть текстовое представление этого объекта в панели Variables.

Активные ссылки

PhpStorm 2022.2 поддерживает кликабельные URL-адреса в нескольких типах файлов. IDE подсвечивает URL-адреса в файлах PHP, JSON, YAML и .propertries, и вы можете открывать ссылки в браузере.

Запуск текущего файла

Мы усовершенствовали действие Run Current File, которое вы найдете в виджете Run/Debug. В виджете теперь есть дополнительное меню, в котором перечислены доступные раннеры, а также действие Run with Parameters, которое позволяет настроить параметры конфигурации перед запуском файла.

Улучшения HTTP-клиента

В HTTP-клиенте появилась поддержка WebSockets и GraphQL.

Интерфейс стал более удобным. Выбрать среду запуска теперь можно при помощи специальной иконки на полях.

Кроме того, в представлении Response появился индикатор выполнения.

Размер шрифта в редакторе

Теперь можно поменять размер шрифта сразу во всех вкладках с помощью сочетания клавиш и быстро вернуться к исходному размеру, нажав Reset.

Поддержка автономных компонентов Angular

Мы активно работаем над поддержкой Angular 14 в PhpStorm. Главное нововведение этого релиза — поддержка автономных компонентов Angular. IDE теперь корректно распознает и обрабатывает компоненты, директивы и каналы с отметкой standalone: true.

Обновления для Vue 3

Поддержка Vue 3 в PhpStorm не во всем поспевала за обновлениями Vue. Мы выпустили несколько улучшений, чтобы это исправить, и некоторые из них, например поддержка Vite, были включены в обновления к предыдущей версии IDE. В WebStorm 2022.2 тоже есть несколько исправлений: например, IDE распознает сужение типа в директивах v-if/else.

Поддержка TypeScript 4.7

PhpStorm 2022.2 включает в себя TypeScript 4.7 и поддерживает новые возможности языка, такие как moduleSuffixes и ESM в Node.js. IDE автоматически подставит расширение .js в оператор импорта, если в файле tsconfig.json для модуля установлено значение node16 или nodenext. Кроме того, PhpStorm поддерживает поле typesVersions в файлах package.json.

JetBrains Runtime

В этой версии мы перешли с JetBrains Runtime 11 (JBR11) на JetBrains Runtime 17 (JBR17). Вот что это дает:

  • Значительное улучшение производительности, благодаря которому IDE работает быстрее.
  • Повышенную безопасность, поскольку JBR17 основан на последней версии OpenJDK LTS.
  • Better rendering performance on macOS, as JetBrains Runtime 17 leverages the Metal API.
  • Increased accessibility on macOS, as JBR17 features integration with the VoiceOver screen reader.
  • Further performance improvements thanks to the usage of the Vector API.

Оглавление в Markdown-файлах

Мы работаем над улучшением поддержки Markdown. В этой версии добавлено действие Generate Table of Contents, которое здорово упрощает создание оглавлений в файлах Markdown. Во всплывающем окне Insert... (Alt+Insert) выберите Table Of Contents, и оглавление будет создано автоматически.