[Laravel, PHP, Symfony, Разработка веб-сайтов] PhpStorm 2020.2: объединенные типы PHP 8, новый движок потока управления, пул-реквесты GitHub, OpenAPI
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
оригинал
Привет, Хабр! Рады представить второй мажорный релиз PhpStorm в этом году!
Под катом подробный разбор всех заметных изменений и новых возможностей. Осторожно — много картинок.
Union types в PHP 8
В PHP 8 будет так много новых фич, что в какой-то степени это даже новый язык. Мы начали выкатывать поддержку восьмерки пораньше и первой большой фичей стали объединенные типы.
Объединенные типы T1|T2|... можно использованы везде, где типы можно указывать сейчас: в аргументах, свойствах и возвращаемых значениях. В этом случае переменная может принимать один из перечисленных типов.
Фактически объединенные типы давно используются в PHPDoc, но теперь интерпретатор действительно будет проверять их в рантайме.
Переключение версии языка
Чтобы увидеть все возможности, можно вручную переключить версию языка на PHP 8 в настройках Languages & Frameworks | PHP | PHP language level.
Или если в коде уже есть использование новых фич, то тогда переключиться можно с помощью квик-фикса (Alt+Enter).
А если версия PHP указана в composer.json, то PhpStorm подтянет ее автоматически.
Конвертируем PHPDoc в нативные объединенные типы
На теге PHPDoc, в котором есть объединенный тип, можно вызвать квик-фикс (Alt+Enter).
Удаляем лишние PHPDoc
Если PHPDoc содержал только объявления типов, то теперь его можно удалить как избыточный квик-фиксом (Alt+Enter).
Можно ли такое удаление всегда считать безопасным и делать автоматически перед коммитом? Мы рассматриваем добавление такой возможности.
Валидация типов
PhpStorm и раньше умел анализировать типы и находить нарушения по информации из тегов PHPDoc. С нативными декларациями эти возможности расширились.
Проверки делаются для всего: свойств, аргументов, возвращаемых значений.
Это особенно полезно в сложном коде, когда нарушения не очевидны с первого взгляда.
Псевдотип false
Некоторые легаси функции могут возвращать false в случае ошибки. Например, так ведут себя strpos(), array_search() и еще 310 других стандартных функций.
В этом случае можно было бы указать возвращаемый тип как объединенный, например int|bool, но по факту true там никогда не будет.
Для таких случаев и введен псевдотип false. Его можно использовать только в объединениях. Иначе PhpStorm подсветит невалидный код.
Дублирующиеся и избыточные типы
Многие комбинации в объединениях типов запрещены или просто лишние. Например:
- bool|false — потому что false входит в bool;
- Foo|Foo или int|string|INT— повторения;
- object|User — object заведомо содержит все остальное;
- iterable|array или iterable|Traversable — iterable включает array и Traversable;
- void — может использоваться только в возвращаемом значении и только сам по себе;
- false или null — только как часть объединения.
PhpStorm подсветит все такие нарушения.
Nullable типы
Прежний синтаксис ?Type теперь рассматривается как сокращение для Type|null.
Но сокращенный вариант с ? нельзя использовать в объединениях, потому что возникает неразрешимая двусмысленность.
Для таких случаев в PhpStorm есть квик-фикс (Alt+Enter).
Изменение типов при наследовании
Для методов действуют два правила:
Тип параметра контравариантен,то есть его можно расширять.
Возвращаемый тип ковариантен, то есть можно только сужать.
При этом порядок типов не имеет значения, и Type1|Type2 эквивалентно Type2|Type1.
Тип свойств изменять нельзя
Тип унаследованного свойства должен сводиться к родительскому, например:
Новый движок потока управления
Обновление движка потока управления позволило добавить новые инспекции и исправить многие старые баги. Как следствие, PhpStorm понимает код еще лучше.
Кое-где можно будет заметить подсветку и предупреждения из новых инспекций. Некоторые из них могут потребовать вашего внимания как потенциальные источники багов. А исправление других просто сделает код чище.
Вот несколько примеров инспекций.
Переменная всегда true или false
Пример в файле Parser.php из doctrine/orm.
Условие всегда true
Пример в файле FormValidator.php из symfony/form.
Результат instanceof всегда true
Пример в файле Logger.php from symfony/monolog-bridge.
$this всегда будет иметь тип ResetInterface, потому что тот находится выше по иерархии.
Выражение всегда null
Пример в файле ProcessUtils.php from symfony/process.
Новое действие: Type Info (⌃⇧P / Ctrl+Shift+P)
Можно навести каретку на любое выражение и вызвать это действие, чтобы посмотреть, какой тип PhpStorm вывел для выражения. Доступно из меню View | Type Info или по горячей клавише ⌃⇧P / Ctrl+Shift+P.
Улучшения для Composer
C версии 2020.1 все действия с зависимостями Composer можно производить непосредственно в PhpStorm в файле composer.json. В этом релизе есть несколько улучшений.
Поддержка кастомных репозиториев Satis/Packagist
Если указать кастомный источник в секции “repositories”, то для всех пакетов из него будет доступно автодополнение кода. Информация о пакетах и версиях будет кешироваться в PhpStorm.
Дополнение, когда указано несколько версий
Если версии перечислены через запятую или пайп (||), то PhpStorm теперь корректно отработает и покажет доступные варианты.
Ссылка на код и сайт
У каждого пакета в попапе с информацией есть ссылки на сайты.
Настройки инструментов качества кода
Если в списке зависимостей есть инструменты качества кода, которые поддерживаются в PhpStorm, то напротив них будет иконка гаечным ключом для перехода к настройкам.
Улучшения для инструментов качества кода
Кстати, об инструментах качества. В PhpStorm 2020.2 есть несколько полезных дополнений.
Поддержка Docker Compose
PHP_CodeSniffer, PHP CS Fixer и PHP Mess Detector можно запускать через docker compose.
Списки исключения для PHP_CodeSniffer
Если в кастомном ruleset.xml есть секция "exclude-pattern", то теперь она будет учтена и файлы по указанным путям не будут анализироваться в IDE.
Форматирование через удаленный интерпретатор
PHP CS Fixer и PHPCBF можно запускать с интерпретатором через SSH, Docket, Docker Compose, Vagrant и прочие.
Инструменты командной строки
Все команды Symfony, Laravel Artisan, Drupal Drush, WP-CLI и скрипты Composer можно очень быстро запускать в PhpStorm, не открывая терминала.
Для этого нужно добавить соответствующий инструмент в настройках Tools | Command Line Tool Support.
Затем по нажатию Ctrl-Ctrl появится строка Run anything, в которой и доступны все команды с автодополнением.
Начиная с этого релиза для Symfony, Laravel и Drush даже ничего настраивать не надо. Достаточно открыть проект, нажать Ctrl-Ctrl и начать вводить команду.
️ Для Laravel на macOS файл artisan должен быть исполняемым (chmod +x artisan).
Кроме того, инструменты теперь можно запускать через любые удаленные интерпретаторы (SSH, Docker, Docker Compose, Vagrant). Например, можно быстро протестировать приложение на PHP 8, добавив Docker-интерпретатор из образа php:rc-cli.
Новый рефакторинг: извлечение класса
Сначала классы выглядят аккуратно и чисто. Потом в них добавляются всё новые методы и свойства, и вот рано или поздно класс уже «разбух» и оброс ответственностями со всех сторон.
Тут может помочь выделение пачки связанных методов и свойств в новый класс. Именно это и предлагает новый рефакторинг Extract Class.
Чтобы попробовать, внутри класса надо нажать Ctrl+T и выбрать Extract Class. PhpStorm предложит ввести имя нового класса, и тут же можно выбрать еще методы и классы для извлечения.
Этот рефакторинг работает и для обычных функций.
И еще для PHP
Новая инспекция: Typed property might be unassigned
Если типизированное свойство объявлено, но не инициализировано, то при попытке его читать будет ошибка TypeError (если не определен магический __get()). PhpStorm подсветит чтение из неинициализированных свойств.
Новая инспекция: Array used only with write access
Пример из файла SchemaTool.php from doctrine/orm.
Массив $pkColumns в методе gatherColumns() обновляется, но никогда не читается.
Кастомизация генерируемых геттеров и сеттеров
Теперь можно настроить именование методов, выбрав между camelCase() и snake_case().
А также настроить порядок, в котором они будут добавлены в класс.
Обе опции доступны в настройках Editor | Code Style | PHP на вкладке Code Generation.
Правильный резолв для множества проектов в одном окне
Если в одном окне открыть несколько проектов, то часто можно было видеть ошибки о том, что класс определен несколько раз. А при попытке перейти к определению класса нужно было еще выбрать к какому именно.
В PhpStorm 2020.2 этих ошибок нет, а переход работает как ожидается.
Более низкий приоритет для классов из vendor
В списке автодополнения приоритет будет отдавать классам непосредственно из проекта, и с более низким будут идти сущности из папки vendor и файлов PHAR.
Добавить курсор на все выделенные строки
Новое действие Add Caret Per Selected Line добавляет курсор в конце каждой выделенной строки и снимает выделение. Можно вызвать с помощью клавиш ⌥⇧G / Alt+Shift+G.
Полная поддержка пул-реквестов GitHub
Базовая поддержка пул-реквестов появилась в PhpStorm 2018.3. C тех пор были обновления, но для многих действий все еще необходимо было переключаться в браузер.
В PhpStorm 2020.2 всю работу с пул-реквестами можно делать прямо в IDE!
Перейти к пул-реквестам можно из меню VCS | Git | View Pull Requests, из тулбара или нажатием Alt+7. Первым будет виден список доступных реквестов с возможностью поиска и фильтрации.
По клику на пул-реквесте откроется подробная информация о нем: ревьюверы, теги, измененные файлы, таймлайн.
Весь флоу по ревью можно проделать тут же. Стартовать и запрашивать ревью, комментировать изменения на уровне строк или всего коммита, сабмитить ревью, мержить.
Результаты проверок, в том числе из CI, будут отображаться под таймлайном.
Раньше, чтобы смержить пул-реквест, нужно было создать локальную ветку. Теперь это не требуется и мержить можно по нажатию кнопки.
Поддержка OpenAPI
Плагин OpenAPI Specifications доступен для всех IDE от JetBrains и работает начиная с версии 2020.2. В файлах спецификаций Open API (openapi.yaml/openapi.json и swagger.yaml/swagger.json) он предоставляет подсветку, дополнение, валидацию и навигацию.
Кроме того, доступны следующие возможности:
- Интеграция со Swagger UI — рендерится непосредственно в окне IDE.
- Генерация кода.
- Структурный diff для спек OpenAPI — позволяет быстро обнаружить значительные изменения.
- Гаттер-иконки для быстрого создания запросов в HTTP-клиенте.
- Дополнение ендпоинтов в HTTP-клиенте.
- Rename-рефакторинг — если переименовать эндпойнт в спеке, то он автоматически переименуется и в запросе HTTP-клиента.
Новый виджет инспекций
В правом верхнем углу редактора теперь отображается виджет с числом проблем в текущем файле.
При помощи стрелок можно быстро перепрыгивать к следующей/предыдущей проблеме (раньше это можно было делать клавишами F2 / Shift+F2).
В виджете можно выбрать, какого уровня проблемы будут показываться, например только синтаксические ошибки или все проблемы.
А по клику на виджете откроется новое окно Problems со списком всех обнаруженных проблем в файле.
Контроль версий
Git из WSL 2
PhpStorm теперь умеет использовать бинарник Git из WSL. Более того, IDE сама определяет, установлен ли WSL и доступен ли Git в нем.
Настройки доступны в Preferences | Version Control | Git.
️ Git будет работать только с WSL2, потому что Git из WSL1 работает нестабильно и может приводить к неправильным результатам выполнения команд Git.
Улучшенный UI для сравнения веток
PhpStorm позволяет сравнить любые ветки и посмотреть, какие коммиты вошли в ту или другую. Для этого нужно выбрать любую ветку из доступных в попапе VCS | Branches и в контекстном меню выбрать Compare with Current.
В PhpStorm 2020.2 логи и разница коммитов отобразятся непосредственно в редакторе. Благодаря этому на экране помещается больше информации.
Обновленные диалоги команд
Диалоги для команд Git Merge, Pull и Rebase были переделаны и унифицированы. Добавлены недостающие опции, и теперь можно видеть полную команду Git, которая будет выполнена.
Все команды доступны в меню VCS | Git.
Новое действие: удалить коммит
Лишний или временный локальный коммит теперь можно удалить прямо из лога в PhpStorm. Для этого в контекстном меню на коммите надо выбрать Drop Commit.
Новое действие: объединить коммиты в один (squash)
Также можно объединить несколько коммитов в один. Например, это может быть удобно, чтобы очистить историю перед созданием пул-реквеста или перед пушем изменений.
В логе выделяем несколько коммитов и выбираем Squash Commits… из контекстного меню.
Для обоих действий за кадром выполняется git rebase.
Инструменты БД
PhpStorm «из коробки» включает в себя почти все возможности DataGrip, которые охвачены в обзоре релиза DataGrip 2020.2 от наших коллег.
Веб
И, как всегда, все обновления из WebStorm 2020.2 тоже входят в PhpStorm. Например, с помощью плагина, Prettier можно использовать в качестве дефолтного форматтера в том числе и для PHP-файлов.
Скачать PhpStorm 2020.2 можно на странице “What’s new”.
А вот видеоролик (на английском) с демонстрацией главных фич релиза:
Извините, данный ресурс не поддреживается. :(
На этом всё на этот раз. Спасибо, что дочитали до конца! Будем рады вопросам, пожеланиям, баг-репортам и просто мыслям в комментариях.
Ваша команда JetBrains PhpStorm
===========
Источник:
habr.com
===========
Похожие новости:
- [GitHub, Python, SQLite, Алгоритмы, Веб-аналитика] Как проанализировать рынок фотостудий с помощью Python (2/3). База данных
- [JavaScript, ReactJS, Программирование, Разработка веб-сайтов] О роли фронтенд-разработчика (перевод)
- [Бизнес-модели, Офисы IT-компаний, Разработка веб-сайтов, Финансы в IT] Как рассчитать стоимость работы компании?
- [Разработка веб-сайтов] День и ночь в интернете, или открытое письмо веб-разработчикам
- [JavaScript, Разработка веб-сайтов] Простое объяснение делегирования событий (перевод)
- [JavaScript, Node.JS, Разработка веб-сайтов] Lock-файлы npm
- [Работа с видео, Сжатие данных, Хранение данных, Хранилища данных] Сжатие видео на пальцах: как работают современные кодеки?
- [GitHub, JavaScript, Игры и игровые приставки, История IT] Разработчик создал из Mac OS 8 приложение для современных ПК на macOS, Windows и Linux
- [Проектирование и рефакторинг, Управление персоналом, Управление проектами] Как делать в два раза больше и получать от этого удовольствие
- [GitHub, IT-компании] GitHub анонсировала запуск публичной дорожной карты
Теги для поиска: #_laravel, #_php, #_symfony, #_razrabotka_vebsajtov (Разработка веб-сайтов), #_phpstorm, #_php, #_php_8, #_composer, #_git, #_github, #_refaktoring (рефакторинг), #_blog_kompanii_jetbrains (
Блог компании JetBrains
), #_laravel, #_php, #_symfony, #_razrabotka_vebsajtov (
Разработка веб-сайтов
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 21:10
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
оригинал Привет, Хабр! Рады представить второй мажорный релиз PhpStorm в этом году! Под катом подробный разбор всех заметных изменений и новых возможностей. Осторожно — много картинок. Union types в PHP 8 В PHP 8 будет так много новых фич, что в какой-то степени это даже новый язык. Мы начали выкатывать поддержку восьмерки пораньше и первой большой фичей стали объединенные типы. Объединенные типы T1|T2|... можно использованы везде, где типы можно указывать сейчас: в аргументах, свойствах и возвращаемых значениях. В этом случае переменная может принимать один из перечисленных типов. Фактически объединенные типы давно используются в PHPDoc, но теперь интерпретатор действительно будет проверять их в рантайме. Переключение версии языка Чтобы увидеть все возможности, можно вручную переключить версию языка на PHP 8 в настройках Languages & Frameworks | PHP | PHP language level. Или если в коде уже есть использование новых фич, то тогда переключиться можно с помощью квик-фикса (Alt+Enter). А если версия PHP указана в composer.json, то PhpStorm подтянет ее автоматически. Конвертируем PHPDoc в нативные объединенные типы На теге PHPDoc, в котором есть объединенный тип, можно вызвать квик-фикс (Alt+Enter). Удаляем лишние PHPDoc Если PHPDoc содержал только объявления типов, то теперь его можно удалить как избыточный квик-фиксом (Alt+Enter). Можно ли такое удаление всегда считать безопасным и делать автоматически перед коммитом? Мы рассматриваем добавление такой возможности.
Валидация типов PhpStorm и раньше умел анализировать типы и находить нарушения по информации из тегов PHPDoc. С нативными декларациями эти возможности расширились. Проверки делаются для всего: свойств, аргументов, возвращаемых значений. Это особенно полезно в сложном коде, когда нарушения не очевидны с первого взгляда. Псевдотип false Некоторые легаси функции могут возвращать false в случае ошибки. Например, так ведут себя strpos(), array_search() и еще 310 других стандартных функций. В этом случае можно было бы указать возвращаемый тип как объединенный, например int|bool, но по факту true там никогда не будет. Для таких случаев и введен псевдотип false. Его можно использовать только в объединениях. Иначе PhpStorm подсветит невалидный код. Дублирующиеся и избыточные типы Многие комбинации в объединениях типов запрещены или просто лишние. Например:
PhpStorm подсветит все такие нарушения. Nullable типы Прежний синтаксис ?Type теперь рассматривается как сокращение для Type|null. Но сокращенный вариант с ? нельзя использовать в объединениях, потому что возникает неразрешимая двусмысленность. Для таких случаев в PhpStorm есть квик-фикс (Alt+Enter). Изменение типов при наследовании Для методов действуют два правила: Тип параметра контравариантен,то есть его можно расширять. Возвращаемый тип ковариантен, то есть можно только сужать. При этом порядок типов не имеет значения, и Type1|Type2 эквивалентно Type2|Type1. Тип свойств изменять нельзя Тип унаследованного свойства должен сводиться к родительскому, например: Новый движок потока управления Обновление движка потока управления позволило добавить новые инспекции и исправить многие старые баги. Как следствие, PhpStorm понимает код еще лучше. Кое-где можно будет заметить подсветку и предупреждения из новых инспекций. Некоторые из них могут потребовать вашего внимания как потенциальные источники багов. А исправление других просто сделает код чище. Вот несколько примеров инспекций. Переменная всегда true или false Пример в файле Parser.php из doctrine/orm. Условие всегда true Пример в файле FormValidator.php из symfony/form. Результат instanceof всегда true Пример в файле Logger.php from symfony/monolog-bridge. $this всегда будет иметь тип ResetInterface, потому что тот находится выше по иерархии. Выражение всегда null Пример в файле ProcessUtils.php from symfony/process. Новое действие: Type Info (⌃⇧P / Ctrl+Shift+P) Можно навести каретку на любое выражение и вызвать это действие, чтобы посмотреть, какой тип PhpStorm вывел для выражения. Доступно из меню View | Type Info или по горячей клавише ⌃⇧P / Ctrl+Shift+P. Улучшения для Composer C версии 2020.1 все действия с зависимостями Composer можно производить непосредственно в PhpStorm в файле composer.json. В этом релизе есть несколько улучшений. Поддержка кастомных репозиториев Satis/Packagist Если указать кастомный источник в секции “repositories”, то для всех пакетов из него будет доступно автодополнение кода. Информация о пакетах и версиях будет кешироваться в PhpStorm. Дополнение, когда указано несколько версий Если версии перечислены через запятую или пайп (||), то PhpStorm теперь корректно отработает и покажет доступные варианты. Ссылка на код и сайт У каждого пакета в попапе с информацией есть ссылки на сайты. Настройки инструментов качества кода Если в списке зависимостей есть инструменты качества кода, которые поддерживаются в PhpStorm, то напротив них будет иконка гаечным ключом для перехода к настройкам. Улучшения для инструментов качества кода Кстати, об инструментах качества. В PhpStorm 2020.2 есть несколько полезных дополнений. Поддержка Docker Compose PHP_CodeSniffer, PHP CS Fixer и PHP Mess Detector можно запускать через docker compose. Списки исключения для PHP_CodeSniffer Если в кастомном ruleset.xml есть секция "exclude-pattern", то теперь она будет учтена и файлы по указанным путям не будут анализироваться в IDE. Форматирование через удаленный интерпретатор PHP CS Fixer и PHPCBF можно запускать с интерпретатором через SSH, Docket, Docker Compose, Vagrant и прочие. Инструменты командной строки Все команды Symfony, Laravel Artisan, Drupal Drush, WP-CLI и скрипты Composer можно очень быстро запускать в PhpStorm, не открывая терминала. Для этого нужно добавить соответствующий инструмент в настройках Tools | Command Line Tool Support. Затем по нажатию Ctrl-Ctrl появится строка Run anything, в которой и доступны все команды с автодополнением. Начиная с этого релиза для Symfony, Laravel и Drush даже ничего настраивать не надо. Достаточно открыть проект, нажать Ctrl-Ctrl и начать вводить команду. ️ Для Laravel на macOS файл artisan должен быть исполняемым (chmod +x artisan). Кроме того, инструменты теперь можно запускать через любые удаленные интерпретаторы (SSH, Docker, Docker Compose, Vagrant). Например, можно быстро протестировать приложение на PHP 8, добавив Docker-интерпретатор из образа php:rc-cli. Новый рефакторинг: извлечение класса Сначала классы выглядят аккуратно и чисто. Потом в них добавляются всё новые методы и свойства, и вот рано или поздно класс уже «разбух» и оброс ответственностями со всех сторон. Тут может помочь выделение пачки связанных методов и свойств в новый класс. Именно это и предлагает новый рефакторинг Extract Class. Чтобы попробовать, внутри класса надо нажать Ctrl+T и выбрать Extract Class. PhpStorm предложит ввести имя нового класса, и тут же можно выбрать еще методы и классы для извлечения. Этот рефакторинг работает и для обычных функций. И еще для PHP Новая инспекция: Typed property might be unassigned Если типизированное свойство объявлено, но не инициализировано, то при попытке его читать будет ошибка TypeError (если не определен магический __get()). PhpStorm подсветит чтение из неинициализированных свойств. Новая инспекция: Array used only with write access Пример из файла SchemaTool.php from doctrine/orm. Массив $pkColumns в методе gatherColumns() обновляется, но никогда не читается. Кастомизация генерируемых геттеров и сеттеров Теперь можно настроить именование методов, выбрав между camelCase() и snake_case(). А также настроить порядок, в котором они будут добавлены в класс. Обе опции доступны в настройках Editor | Code Style | PHP на вкладке Code Generation. Правильный резолв для множества проектов в одном окне Если в одном окне открыть несколько проектов, то часто можно было видеть ошибки о том, что класс определен несколько раз. А при попытке перейти к определению класса нужно было еще выбрать к какому именно. В PhpStorm 2020.2 этих ошибок нет, а переход работает как ожидается. Более низкий приоритет для классов из vendor В списке автодополнения приоритет будет отдавать классам непосредственно из проекта, и с более низким будут идти сущности из папки vendor и файлов PHAR. Добавить курсор на все выделенные строки Новое действие Add Caret Per Selected Line добавляет курсор в конце каждой выделенной строки и снимает выделение. Можно вызвать с помощью клавиш ⌥⇧G / Alt+Shift+G. Полная поддержка пул-реквестов GitHub Базовая поддержка пул-реквестов появилась в PhpStorm 2018.3. C тех пор были обновления, но для многих действий все еще необходимо было переключаться в браузер. В PhpStorm 2020.2 всю работу с пул-реквестами можно делать прямо в IDE! Перейти к пул-реквестам можно из меню VCS | Git | View Pull Requests, из тулбара или нажатием Alt+7. Первым будет виден список доступных реквестов с возможностью поиска и фильтрации. По клику на пул-реквесте откроется подробная информация о нем: ревьюверы, теги, измененные файлы, таймлайн. Весь флоу по ревью можно проделать тут же. Стартовать и запрашивать ревью, комментировать изменения на уровне строк или всего коммита, сабмитить ревью, мержить. Результаты проверок, в том числе из CI, будут отображаться под таймлайном. Раньше, чтобы смержить пул-реквест, нужно было создать локальную ветку. Теперь это не требуется и мержить можно по нажатию кнопки. Поддержка OpenAPI Плагин OpenAPI Specifications доступен для всех IDE от JetBrains и работает начиная с версии 2020.2. В файлах спецификаций Open API (openapi.yaml/openapi.json и swagger.yaml/swagger.json) он предоставляет подсветку, дополнение, валидацию и навигацию. Кроме того, доступны следующие возможности:
Новый виджет инспекций В правом верхнем углу редактора теперь отображается виджет с числом проблем в текущем файле. При помощи стрелок можно быстро перепрыгивать к следующей/предыдущей проблеме (раньше это можно было делать клавишами F2 / Shift+F2). В виджете можно выбрать, какого уровня проблемы будут показываться, например только синтаксические ошибки или все проблемы. А по клику на виджете откроется новое окно Problems со списком всех обнаруженных проблем в файле. Контроль версий Git из WSL 2 PhpStorm теперь умеет использовать бинарник Git из WSL. Более того, IDE сама определяет, установлен ли WSL и доступен ли Git в нем. Настройки доступны в Preferences | Version Control | Git. ️ Git будет работать только с WSL2, потому что Git из WSL1 работает нестабильно и может приводить к неправильным результатам выполнения команд Git. Улучшенный UI для сравнения веток PhpStorm позволяет сравнить любые ветки и посмотреть, какие коммиты вошли в ту или другую. Для этого нужно выбрать любую ветку из доступных в попапе VCS | Branches и в контекстном меню выбрать Compare with Current. В PhpStorm 2020.2 логи и разница коммитов отобразятся непосредственно в редакторе. Благодаря этому на экране помещается больше информации. Обновленные диалоги команд Диалоги для команд Git Merge, Pull и Rebase были переделаны и унифицированы. Добавлены недостающие опции, и теперь можно видеть полную команду Git, которая будет выполнена. Все команды доступны в меню VCS | Git. Новое действие: удалить коммит Лишний или временный локальный коммит теперь можно удалить прямо из лога в PhpStorm. Для этого в контекстном меню на коммите надо выбрать Drop Commit. Новое действие: объединить коммиты в один (squash) Также можно объединить несколько коммитов в один. Например, это может быть удобно, чтобы очистить историю перед созданием пул-реквеста или перед пушем изменений. В логе выделяем несколько коммитов и выбираем Squash Commits… из контекстного меню. Для обоих действий за кадром выполняется git rebase. Инструменты БД PhpStorm «из коробки» включает в себя почти все возможности DataGrip, которые охвачены в обзоре релиза DataGrip 2020.2 от наших коллег. Веб И, как всегда, все обновления из WebStorm 2020.2 тоже входят в PhpStorm. Например, с помощью плагина, Prettier можно использовать в качестве дефолтного форматтера в том числе и для PHP-файлов. Скачать PhpStorm 2020.2 можно на странице “What’s new”. А вот видеоролик (на английском) с демонстрацией главных фич релиза: Извините, данный ресурс не поддреживается. :( На этом всё на этот раз. Спасибо, что дочитали до конца! Будем рады вопросам, пожеланиям, баг-репортам и просто мыслям в комментариях. Ваша команда JetBrains PhpStorm =========== Источник: habr.com =========== Похожие новости:
Блог компании JetBrains ), #_laravel, #_php, #_symfony, #_razrabotka_vebsajtov ( Разработка веб-сайтов ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 21:10
Часовой пояс: UTC + 5