Представлена новая версия PhpStorm 2020.1
17 июня 2020
JetBrains представили новую версию PhpStorm, которая получила следующую генерацию и индекс 2020.1.
Поддержка пакета Composer.json
Теперь, при необходимости управления зависимостями, ко всем функциям, можно получить доступ сразу в редакторе или сразу в файле.
Для создания пустого composer.json, можно перейти в меню, или воспользоваться сочетание клавиш Ctrl и N.
Зависимости
Новое меню зависимостей, в новой версии добавляется совмещено с автодополнением. Для добавления зависимости, достаточно начинать вводить название пакета, и выпадающее меню подскажет различные варианты. После выбора версии, пользователю будет предложен выбор версии, однако в данной версии, пока нужно руками дописывать символ (^).
Работа с пакетами
В ситуации когда composer.lock еще не создан, и не устанавливались пакеты, тогда require, будет специально подсвечено. Чтобы быстро установить пакеты, достаточно зажать Alt Enter и далее найти команду, которая установит пакеты. Еще один способ - нажать специальную кнопку на панели инструментов.
Если же, например, какие из пакетов не установились, они будут подсвечены. Теперь, достаточно снова нажать Alt+Enter, и здесь выбрать обновить или обновить все. Справа от указанных требований, серым цветом будет выделена текущая версия пакета, уже установленная. Еще одной приятной фичей, стала информация о пакете, которая появляется как подсказка, в которой указаны рейтинг и количество загрузок.
Вся доступная информация относительно пакетов, кешируется с сайта packagist.org
Навигация
Ранее, для определения сущности, или поиска ее использования, нужно было кликнуть на ней с зажатым Ctrl. Теперь эта возможность будет доступна и в composer.json. При клике с зажатым Ctrl, на package, то раскроется дерево каталога с подсвеченным пакетом. Таким же способом можно открыть файл в режиме редактирования.
Скрипты
Соответственно скрипты получили такие же улучшения по навигации, в виде быстрых переходов, но теперь и еще и можно быстро запускать с помощью кнопки на панели инструментов, которая находится справа от названия. Кроме этого, при запуске скрипта, будет создана Run-конфигурация, благодаря которой скрипт теперь можно запускать по горячей клавише.
Типы PHP. Улучшен вывод
Основой PHP является ядро, позволяющий выводить любые типы PHP. Новая версия обзавелась некоторыми улучшениями.
Цветовое выделение @var
Добавление данного тега, позволяет указать, какой тип переменной используется, однако постоянные улучшения в PhpStorm, позволяет улучшить этот процесс, и однако иногда, такие действия, могут быть лишними. В случае, если появится повторное объявление типа, оно будет выделено в коде специальной иконкой. При этом, данные действия можно быстро откатить, зажав Alt и Enter, и выбрав соответствующий пункт и меню.
Null типы
Слежение за типами Null. Это не простая задача, и раньше периодически появлялись ошибки. Однако теперь, алгоритмы отслеживания улучшены, и решение способно определить, если переменная вдруг может стать Null.
Покрытие кода и тестирование с PHPDBG и PCOV
Кроем предложенных решений, Xdebug, может отлично справляться с покрытием кода, однако по причине того, что оригинально Xdebug, представляет собой отладчик, он имеет дополнительные серьезные ресурсные запросы. Чтобы получать отчет о покрытии кода быстрее, и затрачивать меньше ресурсов, можно использовать легкий, встроенный PHPDBG, или krakjoe/pcovv. Новая версия теперь поддерживает оба расширения.
Чтобы начать тестирование, создаем Run/Debug Configuration, где в настройках выбираем нужный плагин. После этого, запускаем тест, учитывающий покрытие кода (кнопка с щитом).
Метод _get для обращения к свойствам
В старых версиях, получая с помощью _get() значения свойств, обычно, значении типа не доходило до ответа. Однако, можно было найти возможность, и использовать @Property и @var, для получения типа, но даже такой метод давал сбои. В новой версии, все значения можно указать в мета-данных.
ArrayAccess
Объекты, которые могут реализовать ArrayAccess, теперь также могут быть автоматически дополнены ключами. До обновления, ArrayAccess могли использовать мета-данные, но передавали только тип имеющихся значений. В новой версии реализовано автодополнение ключей.
Иконки для функций
Теперь функции, которые были переопределены или изменены через команды exitpoint или override, буду помечены новой иконкой. При клике на иконку, откроется отдельный файл, где записаны изменения поведения.
Лишний тернарный оператор
Новая версия PhpStorm, для избыточных тернарных операторов, будет включать подсветку. Их можно быстро заменить на упрощенные нажав Alt+Enter.
Рефакторинг
Бывают случаи, когда требуется переназначить класс методу. В случае, когда данный метод, часто встречается в коде, PhpStorm, способен найти выход из ситуации.
В прошлых версиях, для переноса метода, для начала он должен был стать статическим, а затем, с помощью дополнительного действия, его можно было перенести. В версии 2020.1, данный рефакторинг переработан, и представляет собой одну единственную операцию. Никаких всплывающих окон, или лишних действий.
Для рефакторинга метода, достаточно выделить его курсором, нажать F6, и выбрать класс, которому он будет переназначен. Довольно просто, не так ли.
PHP дебагер в HTTP
В новой версии, пользователям дали упрощенную возможность запускать отладку, без использования дополнительных инструментов. Для этого, с помощью команды, отправить запрос PHP Debug, к созданному заранее http файлу. Данную команду можно найти в выпадающем меню, доступном на Alt+Enter. После выполнения запроса, к нему будут добавлены куки-файлы с параметром XDEBUG_SESSION.
Другие улучшения в PhpStorm 2020.1
В новой версии, выделяя открывающийся или закрывающийся тег, автоматически подсветится его вторая часть.
Горячие клавиши, чтобы перейти началу и к концу контента в скобках. (Ctrl-Shift-M)
Улучшенная проверка правописания и Graziee
Новая версия обзавелась установленным по умолчанию плагинов Grazie. Он способен полностью проверить текст на 16 языках, на стилистику, грамматику и правописание. При этом проверка будет производиться локально, не отправляя никакие данные.
Проверка доступна для файлов разметки, комментариев, коммитов и т.д.
Легкий режим редактирования
Новая версия предлагает пользователям новый, легкий режим редактирования LightEdit. Данный редактор станет кстати, когда нужна подсветка синтаксиса, но загружать целую IDE нет времени или необходимости. В случае, когда файл будет запускаться через контекстное меню вашей ОС, или через Command line, по-умолчанию, будет открыт редактор LightEdit.
Шрифт
В стоке, теперь будет установлен шрифт JetBrains Mono
Режим Zen
Это объединение Distraction Mode и полноэкранного режима, который позволяет убрать все элементы интерфейса, кроме непосредственного кода.
Терминал
Теперь, вместо создания нескольких вкладок, окно терминала можно разделить пополам и выводить там различные данные.
Улучшения в Commit’e
Теперь, окно коммита, больше не будет модальным., таким образом не закрывая важное рабочее пространство. Окно коммита будет расположено слева. Важно знать, что новая функция будет выключена по-умолчанию у тех, кто уже работал в PHPStorm ранее.
Кроме этого, в новую версию внесен еще ряд изменений и улучшений, Мы выделили самые интересные и важные из них. С более подробным логом обновления PhpStorm 2020.1, можно ознакомиться на официальном сайте JetBrains.