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

PhpStorm 2020.3 - JetBrains представил финальный мажорный релиз PhpStorm

PhpStorm 2020.3 - JetBrains представил финальный мажорный релиз PhpStorm

Основные изменения и новые возможности PhpStorm 2020.3:

  • PHP 8: поддержка всех языковых функций, и штормовские атрибуты.
  • PHPStan и Psalm можно использовать для подсветки ошибок в редакторе.
  • Xdebug 3 с упрощённой конфигурацией, и новые фишки для отладки в IDE.
  • HTTP-клиент теперь может запускать запросы Guzzle и экспортировать в cURL.
  • Совместная разработка для работы над проектом с коллегами в реальном времени.
  • Редактор научился рендерить диаграммы Mermaid.js, разделять экран перетаскиванием, и позволяет просматривать файлы не открывая их.
  • Git stage поддерживается как альтернатива для changelists.
  • В инструментах БД добавлен SQL для MongoDB.
  • Tailwind CSS теперь тоже поддерживается.

PHP 8

PHP 8.0 выпущен. Большое спасибо всем контрибьюторам и менеджерам релиза!

PhpStorm 2020.3 поддерживает все последние изменения языка. Давайте рассмотрим, что доступно и как это использовать в IDE.

Версия языка в статусбаре

Теперь в статусной строке всегда отображается текущая версия PHP проекта. Оттуда же можно переключить версию.

Именованные аргументы

В PHP 8 аргументы функций и методов могут передаваться путем указания имени параметра. Вызовы теперь автоматически задокументированы, а необязательные параметры стали необязательными в полном смысле слова.

С помощью квик-фикса Add name identifiers можно добавить имена к аргументам

Атрибуты

Атрибуты — это новый, структурированный способ указания метаданных в PHP вместо комментариев PHPDoc.

Чтобы создать атрибут, надо объявить класс и добавить маркер #[Attribute]. Здесь PhpStorm поможет с подсветкой, автодополнением кода, поиском использований, рефакторингами и прочим

Штормовские атрибуты PHP 8

Несколько атрибутов доступны в PhpStorm 2020.3 «из коробки» в неймспейсе \JetBrains\PhpStorm\.

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

А вот если вы дополнительно используете другие инструменты статического анализа и не хотите получать ошибок типа Class not found, то тогда, возможно, стоит добавить пакет атрибутов JetBrains/phpstorm-attributes как зависимость в composer.json.

#[Deprecated]

Используйте этот атрибут как PHPDoc-тег @deprecated, чтобы пометить методы, классы или константы классов, которые будут удалены в будущем.

Преимущество тут в том, что можно указать замену для устаревшего кода и пользователю будет проще обновиться.

#[ArrayShape]

Этот атрибут полезен для работы с простыми структурами данных или объектоподобными массивами, когда по какой-то причине нельзя объявить класс.

#[Immutable]

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

Атрибутом #[Immutable] можно пометить весь класс или конкретные свойства, чтобы показать, что они не могут быть изменены.

#[Pure]

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

#[ExpectedValues]

С помощью этого атрибута можно указать, какие значения функция принимает в качестве параметров, а какие может возвращать.

#[NoReturn]

Некоторые функции могут приводить к остановке выполнения скрипта. Если отметить такие функции как точки выхода атрибутом #[NoReturn], то улучшится анализ потока управления.

#[Language]

Этот атрибут можно добавить к строковым параметрам, в которых ожидается текст на каком-либо языке, например RegExp, SQL, DQL и так далее.

Поддержка Psalm и PHPStan

Оба статических анализатора можно использовать в PhpStorm 2020.3 для подсветки проблем непосредственно в редакторе.

Xdebug 3

Обновился популярный отладчик для PHP, теперь он значительно быстрее в работе и проще в настройке.

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

Возможности по отладке в PhpStorm расширились двумя новыми фишками.

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

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

В PhpStorm 2020.3 можно добавлять вотчи непосредственно в контексте, и они будут отображаться рядом с кодом.

Подсветка и переименование переменных в Twig

Выберите переменную или поместите на нее курсор, и все ее использования в шаблоне будут подсвечены. А чтобы переименовать все вхождения, нажмите Shift + F6.

Совместная разработка – Code With Me

В PhpStorm 2020.3 встроен плагин Code With Me — новый инструмент JetBrains для совместной разработки и парного программирования. С помощью него можно расшарить открытый проект с другими пользователями и работать над ним вместе в режиме реального времени.

HTTP-клиент

Интеграция Guzzle с HTTP-клиентом в PhpStorm

Guzzle — один самых популярных HTTP клиентов для PHP. Представьте, что где-то в коде есть HTTP-запрос и хочется его потестировать, не запуская сам код. Раньше пришлось бы копировать все параметры вручную.

PhpStorm 2020.3 позволяет конвертировать простые запросы Guzzle в файлы .http. Если запрос поддерживается, то рядом с ним появится иконка. Нажав на нее, вы откроете новый scratch-файл с правильным URL, параметрами запроса, методами, заголовками, телом.

Копировать HTTP-запрос в cURL

Чтобы экспортировать HTTP-запрос в cURL-строку, нажмите Alt+Enter на запросе в редакторе и выберите Convert to cURL and copy to clipboard. Теперь его можно вставить в терминал, документацию или любой инструмент тестирования API.

Редактор

Улучшения для Markdown

Для описания диаграмм и графиков можно использовать синтаксис Mermaid.js в markdown-файлах. PhpStorm теперь умеет рендерить превью для них прямо в редакторе. Включается в Preferences/Settings | Languages & Frameworks | Markdown.

Установить PhpStorm как приложение по умолчанию для разных файлов

В Preferences | Settings / Editor / File Types нажать Associate file types with PhpStorm…. В диалоговом окне выберите расширения для файлов, и они будут открываться в PhpStorm.

Поддержка Git stage

Включить можно чекбоксом Enable staging area в Preferences/Settings | Version Control | Git.

В окне инструментов Commit (Cmd+0 / Alt+0) появятся две группы файлов: staged и unstaged.

Инструменты БД

PhpStorm «из коробки» включает в себя возможности DataGrip.

SQL для MongoDB

Теперь можно использовать SQL-запросы к MongoDB. PhpStorm 2020.3 поддерживает SELECT-запросы с JOINWHEREGROUP BYHAVINGORDER BYLIMITOFFSETи всеми функциями MongoDB кроме map, reduce, filter и let.

Полный список "Что нового в PhpStorm 2020.3"

https://www.jetbrains.com/phpstorm/whatsnew/

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