PhpStorm 2021.1 — большое обновление, в котором вас ждет более 20 новых инспекций и быстрых исправлений, предварительный просмотр PHP и HTML-файлов, сервис Code With Me для парного программирования и улучшения во всех подсистемах.
Теперь можно указать версию PHP для проекта, не изменяя composer.json
. Это будет полезно в ситуации, когда нужно оценить, насколько кодовая база совместима с новой версией языка, прежде чем переходить на нее.
Чтобы упростить поиск и изменение настроек, связанных с PHP, мы переместили этот раздел на верхний уровень: Settings / Preferences | PHP.
В правом верхнем углу редактора появился значок, который позволяет посмотреть превью файла прямо в PhpStorm. Это работает для файлов HTML и PHP.
Откройте PHP-файл, введите код, и вы сразу увидите результат рядом — на вкладке предпросмотра. Не нужно переключаться в другое окно. Любые изменения в связанных CSS и JavaScript-файлах также будут отражены в превью.
PhpStorm использует локальный интерпретатор PHP, указанный в настройках проекта в разделе Settings/Preferences | PHP. Docker и другие удаленные интерпретаторы не поддерживаются.
Чтобы активировать значок предварительного просмотра, включите хотя бы один браузер в разделе Preferences | Tools | Web Browsers и отметьте галочкой For HTML files.
Вкладку превью также можно открыть с помощью Alt+F2.
Многие системы и фреймворки управления контентом позволяют указывать префиксы таблиц, что полезно при использовании одной и той же базы данных для нескольких приложений.
В предыдущих версиях в таких случаях интеграция с базой данных нарушалась, потому что SQL-запросы содержали маркеры для префиксов.
Теперь префиксы можно указывать через файл .phpstorm.meta.php. Подробнее о метафайлах и о том, как указывать SQL-префиксы, читайте в документации.
Если логическое выражение содержит литералы true
или false
, PhpStorm поможет его упростить. Используйте быстрое исправление (Alt+Enter), чтобы удалить лишнее и улучшить читаемость кода.
Оператор строгого сравнения ===
всегда приводит к результату false
, если типы операндов не совпадают.
PhpStorm подсвечивает такие случаи, поскольку они могут быть источником ошибок. IDE учитывает всю информацию, относящуюся к типу, и поможет обнаружить проблемы в менее очевидных ситуациях.
Раньше использовать присваивание переменной в вызове функции для имитации имени параметра было распространенной практикой.
Начиная с PHP 8, с помощью Alt+Enter можно заменить присваивание реальным именованным аргументом.
Код isset($a) ? $a : $b;
идентичен $a ?? $b
, поэтому PhpStorm предложит его заменить.
Иногда блоки if
и else
становятся избыточными после изменений, потому что имеют одинаковое содержимое. PhpStorm предложит извлечь общие части или объединить блоки.
Нажмите Alt-Enter на любом if
и выберите в меню Invert `if` statement. PhpStorm заменит условие на противоположное и обновит код соответствующим образом, чтобы сохранить логику. Если вы следуете практике раннего возврата, это действие поможет вам провести рефакторинг кода.
В некоторых случаях нет необходимости использовать обратный слэш в начале пространства имен. PhpStorm подскажет, когда его можно удалить.
Переменные для ключа и значения в цикле foreach могут конфликтовать с именами других переменных или параметров. PhpStorm подсвечивает все места, где могут возникнуть ошибки.
PhpStorm укажет на избыточные фигурные скобки при интерполяции строк и предложит их безопасно удалить, чтобы сделать код аккуратнее.
Если объявленный тип не соответствует типу значения, его можно быстро обновить с помощью Alt+Enter. А если вы пишете на PHP 8, IDE предложит использовать объединенный тип.
Использование функции isset()
эффективно только для массивов и переменных. В остальных случаях стоит проверить, не является ли операнд null
. Используйте Alt+Enter, чтобы заменить проверки isset()
проверками на null
.
PhpStorm подсвечивает случаи использования протокола http://
и предлагает быстрое исправление (Alt-Enter), чтобы заменить их на https://
. Вы можете легко указать, какие URL-адреса следует игнорировать.
PhpStorm подсвечивает некоторые распространенные случаи некорректного использования имен параметров и возвращаемых значений, например $
needle
и $haystack
или $x
и $y0>. Такие случаи могут привести к ошибкам и как минимум запутают того, кто читает код.
Теперь легко выбрать профиль инспекций перед отправкой изменений в VCS. Нажмите на значок шестеренки, отметьте галочкой Analyze code, кликните Configure и выберите нужный профиль. Чтобы создать профиль, перейдите в раздел Preferences/Settings | Editor | Inspections.
В PHP циклические конструкции, такие как блоки foreach
, for
, while
и catch
, не имеют изолированной области видимости. Это неудобно, если требуется переименовать переменную только внутри блока.
Мы ввели синтетическую область видимости для таких блоков, и рефакторинг Rename (Shift+F6) стал более интуитивным.
PhpStorm 2021.1 анализирует использование переменных и автоматически добавляет соответствующие языковые вставки.
Например, если переменная используется в функции preg_*
, PhpStorm понимает, что это шаблон, и подсвечивает RegExp.
PhpStorm теперь учитывает расширения в как в блоках require
, так и suggest
.
IDE предупредит о том, что расширение зарегистрировано в composer.json
как предлагаемое, но используется без проверок, таких как extension_loaded()
и function_exists()
. Чтобы переместить расширения в require/require-dev
, воспользуйтесь быстрым исправлением.
В этом релизном цикле мы сосредоточились на качестве и стабильности. Всего мы исправили 2246 проблем, о которых пользователи и коллеги сообщали нам в трекере. Вот некоторые результаты этой работы:
PhpStorm поддерживает Code With Me — инструмент JetBrains для совместной удаленной разработки и парного программирования. Мы впервые представили его в версии 2020.3, а в этом релизе вас ждет несколько важных улучшений.
Настройте уровни доступа к проекту и отправьте коллегам ссылку-приглашение. Чтобы присоединиться к сеансу и работать вместе с вами, им даже не обязательно иметь IDE. Code With Me позволяет переписываться в чате и поддерживает аудио- и видеозвонки.
Если у вашей компании повышенные требования к безопасности, можно установить локальную версию Code With Me и пользоваться сервисом в пределах внутренней сети.
В HTTP-клиенте можно настроить SSL: нажмите Add environment file и выберите Private. IDE автоматически создаст файл, в который вы сможете добавить SSL-конфигурации: clientCertificate
, hasCertificatePassphrase
, clientCertificateKey
, verifyHostCertificate`
.
Мы добавили новый значок для выбора способа отображения тела. Можно переключаться между режимами Text / JSON / HTML / XML, включить отображение номеров строк и быстро скопировать тело ответа в буфер обмена, нажав на кнопку.
Чтобы разделить окно редактора и держать открытыми сразу несколько вкладок одновременно, перетащите нужную вкладку в угол окна IDE. Любую из открытых вкладок можно увеличить двойным кликом. Чтобы вернуться в предыдущее состояние, снова нажмите на окно дважды.
Используйте язык запросов JSONPath для поиска по JSON-документам. Новые действия вы найдете в разделе Edit | Find | Evaluate JSONPath.
PhpStorm now supports the newline-delimited JSON Lines format used for working with structured data and logs. IDE распознает типы файлов .jsonl, .jslines, .ldjson и .ndjson.
Теперь можно отрегулировать толщину шрифта и настроить резервный шрифт. Новые параметры находятся в разделе Typography Settings в меню Settings / Preferences | Editor | Fonts.
В новую версию PhpStorm вошли все функции и улучшения из WebStorm 2021.1. Некоторые поддерживаются по умолчанию, другие — через бесплатные плагины из Plugin Marketplace.
Исправлять ошибки в CSS-коде теперь можно всего в несколько кликов. Наведите указатель мыши на проблемное место в файле или поместите туда курсор и нажмите Alt+Enter, а затем выберите Stylelint: Fix current file.
Также вы можете указать путь к файлу конфигурации в разделе Settings / Preferences | Languages & Frameworks | Style Sheets | Stylelint.
When working with style sheets, you can now check the specificity of your selectors – just hover over a selector that you want to check. Или переместите на него фокус и нажмите F1/Ctrl+Q, чтобы просмотреть информацию во всплывающем окне документации.
Чтобы создать пул-реквест просто нажмите на значок плюса или перейдите в Git | GitHub | Create Pull Request.
В новом диалоге можно:
Узнайте, что нового в DataGrip 2021.1 — вся эта функциональность также доступна в PhpStorm. Вот лишь некоторые из обновлений.
В окне Modify user (открывается из проводника баз данных для любого пользователя при помощи Cmd/Ctrl+F6) можно назначать объектам права доступа.
Функциональность доступна для PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server и Sybase.
Теперь можно генерировать простые операторы прямо из проводника баз данных с помощью шаблонов Live Templates. Нажмите правой кнопкой мыши на объект в проводнике, чтобы увидеть список доступных шаблонов.