Третье крупное обновление PhpStorm в 2019 году несет в себе много возможностей для повышения продуктивности
PhpStorm 2019.3 поддерживает все нововведения PHP 7.4. IDE подсвечивает устаревший код и предлагает быстрые исправления для обновления кодовой базы.
Поддержка типизированных свойств появилась еще в предыдущей версии. В PhpStorm 2019.3 быстрые исправления помогают справиться со всеми затруднениями, и вы можете быстро добавлять объявления типов, нажав Alt-Enter и выбрав действие Add declared type for the field. PhpStorm определяет тип автоматически на основании PHPDoc, исходного значения или объявления типа аргумента в конструкторе.
PhpStorm полностью поддерживает новый компактный синтаксис однострочных лямбда-функций из PHP 7.4. В IDE работает автодополнение для переменных из внешней области, и вы можете перейти к нужному объявлению в один клик.
В PhpStorm есть быстрое исправление для преобразования однострочных лямбда-функций из старого синтаксиса в новую сокращенную запись. Просто нажмите Alt-Enter на анонимной функции и выберите действие Convert closure to arrow function.
PHP 7.4 позволяет добавить в длинное число разделитель в виде знака подчеркивания, чтобы улучшить читаемость кода.
Если вам встретилось длинное число, поместите на него курсор, нажмите Alt+Enter и выберите Add number separators. PhpStorm добавит нижнее подчеркивание «_
» после каждой третьей цифры в десятичных числах и каждой четвертой цифры в шестнадцатеричных, двоичных и восьмеричных числах.
В PHP 7.4 левая ассоциативность вложенных операторов ?:
объявлена устаревшей. Вам придется либо совсем отказаться от тернарных операторов с вложенностью, либо, если они все-таки необходимы, использовать круглые скобки, чтобы указать порядок вычислений явно.
PhpStorm 2019.3 подсвечивает устаревшие выражения и предлагает быстрые исправления, чтобы обновить их.
В новой версии PHP некоторый синтаксис считается устаревшим.
В PhpStorm 2019.3 предусмотрены соответствующие инспекции: IDE выделит фрагменты кода, которые требуют внимания. Там, где это возможно, PhpStorm предложит быстрое исправление для обновления поведения.
В PHP 7.4 исправлено несколько несоответствий, в том числе одно, затрагивающее систему типов. Для метода, унаследованного из родительского класса, теперь можно определить более конкретный тип возвращаемого значения и менее конкретные типы параметров.
PSR-12 дополняет предыдущий стандарт PSR-2 правилами и рекомендациями по использованию новых возможностей PHP. Новый стиль кода включен в PhpStorm 2019.3, и IDE предложит на него перейти. Чтобы переключиться на PSR-12 вручную, используйте действие Set from… в меню Preferences | Editor | Code Style | PHP.
PhpStorm также предложит включить набор инспекций для поиска несоответствий определенным правилам PSR-12.
Вы можете изменить оформление кода в редакторе, нажав Cmd+Alt+L, или запустить форматирование перед коммитом. Также можно изменить форматирование в отдельной папке или по всему проекту с помощью действия Code > Code Cleanup...
Windows Subsystem for Linux — это оболочка совместимости для запуска двоичных исполняемых файлов Linux в Windows 10. PhpStorm теперь поддерживает разработку в WSL: можно запускать IDE на Windows и разрабатывать приложения для Linux. Вы можете указать удаленный интерпретатор PHP в WSL и использовать его для запуска скриптов, тестов и команд Composer, а также для выполнения отладки.
Раньше конфигурации запуска тестов можно было выполнять только через интерпретатор PHP, указанный для проекта по умолчанию, что не всегда удобно.
Больше такого ограничения нет. В PhpStorm 2019.3 вы можете выбрать любой настроенный удаленный интерпретатор для запуска тестов: Docker, Vagrant, работающий через SSH, WSL или любой другой!
Раньше блоки PHPDoc отображались одним цветом и выглядели как обычные комментарии.
Теперь в них работает полноценная подсветка типов, переменных, параметров, методов и свойств. Кроме того, если в комментарии есть HTML-код, IDE выделит его соответствующим образом.
Вы можете выбрать шрифт и цвет для переменной $this
: перейдите в Preferences | Editor | Color Scheme | PHP | Identifiers и настроите ее внешний вид, как вам нравится.
PhpStorm 2019.3 автоматически подсвечивает блоки PHP-кода в файлах Markdown, если вы укажете php
в качестве информационной строки. Кроме того, подсветка PHP работает в строковых литералах благодаря специальному диалекту InjectablePHP, аналогичному PHP, но не требующему открывающего тега.
Посмотрите короткое видео о работе с HTTP-клиентом в PhpStorm, чтобы выполнять запросы правильно.
При открытии http-файла открывается панель инструментов, с которой легко выполнять популярные действия:
Мы добавили три динамические переменные, которые можно использовать в запросах:
Чтобы вставить эти переменные, куда нужно, используйте двойные фигурные скобки.
Вы можете записать несколько запросов в один http-файл. Это удобно, если вам нужно создавать цепочки запросов, в которых один запрос зависит от результата предыдущих.
Раньше приходилось выполнять каждый запрос по отдельности, а теперь можно выполнить все одним кликом.
Если вы отправляете запрос с длинным телом, например c составным содержимым или с несколькими заголовками, его можно свернуть для удобства чтения в редакторе.
Вы можете свернуть весь запрос, оставив только первую строку или тело, нажав на значок стрелки в поле редактора.
В новую версию PhpStorm вошли все функции и улучшения из WebStorm 2019.3. Некоторые поддерживаются по умолчанию, другие — через бесплатные плагины, которые можно скачать из Plugin Marketplace.
Новый интеншен Propagate to destructuring Alt+Enter позволяет заменять избыточные переменные еще одной деструктуризацией. Чтобы полностью удалить деструктурирующее присваивание, используйте действие Replace destructuring with property or index access.
Если логическое выражение в условии содержит необязательные части, IDE предупредит об этом и предложит упростить его.
Теперь при переименовании символа в JavaScript или TypeScript-файле IDE объединяет динамические использования в отдельную группу и по умолчанию исключает их из рефакторинга. Это позволяет проводить рефакторинг с большей точностью и дает вам возможность лучше контролировать переименование с помощью окна Refactoring Preview.
Используете Vuetify или BootstrapVue в своем приложении Vue.js? Мы повысили точность автодополнения кода для компонентов и свойств компонентов, входящих в эти и некоторые другие библиотеки компонентов Vue. Это возможно благодаря новому подходу к работе с библиотеками Vue-компонентов, который мы реализовали в IDE.
При скачивании проекта из системы контроля версий вы увидите обновленный диалог Get from Version Control, который отображается на начальном экране и в меню VCS.
Мы постарались упростить получение проектов из GitHub. Теперь вы можете выбрать GitHub в левой части диалога и войти в свой аккаунт прямо оттуда.
Теперь вы можете отправить изменения из любой ветки прямо в окне Branches: выберите нужную ветку и нажмите Push.
Раньше можно было отправить изменения только из той ветки, над которой вы работаете, причем сначала требовалось переключиться на эту ветку.
Просматривая историю изменений, легче воспринимать информацию, если дата отображается в привычном для вас формате, например дд/мм/гггг или мм/дд/гггг.
В PhpStorm 2019.3 можно настроить формат даты для действий VCS Annotate и VCS Log.
PhpStorm, как всегда, включает в себя новую функциональность, разработанную командой DataGrip. Все подробности здесь: Что нового в DataGrip 2019.3.
В PhpStorm и других наших IDE появилась долгожданная поддержка MongoDB. В проводнике баз данных отображаются коллекции и поля, вы можете просматривать данные в виде дерева. Можно сортировать данные по столбцам и фильтровать значения, и конечно, выполнять запросы прямо в IDE.