Вот что мы подготовили для вас в этом обновлении:
Важное дополнение к этой версии — AI Assistant, призванный расширить возможности программирования в IDE с помощью искусственного интеллекта. Текущий набор функций AI Assistant включает в себя чат-бота, автоматическое создание документирующих комментариев, предложение имен, генерацию сообщений коммитов и многое другое.
В окне AI Assistant можно пообщаться с большой языковой моделью (LLM): задать вопросы и обсудить, как улучшить фрагмент кода. PhpStorm предоставит ассистенту нужный контекст: например, сообщит какая версия PHP и какие фреймворки используются в вашем проекте. Если вас устраивает сгенерированный искусственным интеллектом код, вы можете скопировать его в редактор при помощи действия Insert Snippet at Caret или вручную.
В контекстном меню Alt+Enter теперь есть раздел AI Actions: там перечислены задачи, с которыми вам может помочь AI Assistant.
AI Assistant также умеет генерировать документацию. Нажмите Alt+Enter, откройте меню AI Actions и выберите Write Documentation. Кроме того, AI Assistant попытается объяснить ваш код через чат.
В диалоге сообщений коммитов появилась кнопка Generate Commit Message with AI Assistant. При нажатии на нее информация об изменениях передается в LLM, которая создает сообщение коммита с описанием внесенных изменений.
AI Assistant работает на базе сервиса JetBrains AI. Чтобы получить доступ к возможностям искусственного интеллекта, нужно вручную установить плагин AI Assistant и войти в сервис JetBrains AI, используя свой JetBrains-аккаунт. Самый простой способ это сделать — нажать на значок More tool windows на панели инструментов, выбрать AI Assistant и следовать инструкциям.
Обратите внимание, что доступ к AI Assistant временно ограничен и вы можете оказаться в листе ожидания. Подробнее о возможностях AI Assistant и о том, как мы обрабатываем ваш код и данные, читайте в нашем блоге.
Попробуйте возможности искусственного интеллекта и расскажите нам о своих впечатлениях. Для этого просто нажмите Share your feedback в окне AI Assistant. Вы также можете сообщать нам об ошибках через YouTrack.
Нажмите Shift+F6 на дженерике, чтобы начать переименование, и PhpStorm автоматически обновит его имя по всей кодовой базе.
Другой способ сделать то же самое — нажать Ctrl+T и выбрать Rename.
static
в дженерикахОдной из самых долгожданных функций в этой области была поддержка статических ссылок в дженерик-шаблонах.
В этой версии она наконец появилась, и мы продолжим работу над тем, чтобы сделать поддержку дженериков PHP как можно лучше.
@mixin
с шаблонами С помощью дженерик-аннотаций @mixin
можно в полной мере использовать возможности декораторов и других паттернов для вставки поведения в объекты. PhpStorm теперь предоставляет для них автодополнение.
PhpStorm теперь удаляет лишние декларации из автоматически генерируемых блоков PHPDoc в большинстве действий и сообщает о лишних тегах PHPDoc.
Для генерируемых геттеров и сеттеров PhpStorm добавляет PHPDoc-комментарии только при отсутствии объявленных типов.
Для генерации геттеров и сеттеров используйте действие Add getter/setter
(Alt+Enter) или действие Generate code (Alt+Insert).
PhpStorm has added Laravel Pint to the list of supported quality tools. Теперь проблемы со стилем кода, о которых сообщает Laravel Pint, обрабатываются так же, как и собственные инспекции PhpStorm.
Чтобы настроить интеграцию с Laravel Pint, перейдите в раздел Settings | PHP | Quality Tools и разверните раздел Laravel Pint.
Там же можно выбрать Laravel Pint в качестве внешнего форматера. Это позволит исправить все проблемы, обнаруженные Laravel Pint, одним действием Reformat Code (Ctrl+Alt+L).
Чтобы включить Laravel Pint в качестве инспекции PhpStorm, перейдите в меню Settings | Editor | Inspections и установите флажок Laravel Pint validation в разделе PHP | Quality Tools.
При включенной инспекции все проблемы, обнаруженные Laravel Pint, будут подсвечиваться в любом открытом PHP-файле и отображаться в окне Problems.
В этой версии логика анализа кода охватывает утверждения PHP.
Теперь PhpStorm находит и подсвечивает избыточные утверждения, которые всегда истинны или всегда ложны. This is available for PHP’s built-in assert()
constructs, PHPUnit’s assertion methods, and methods from the webmozart/assert and beberlei/assert libraries.
Каждому проекту теперь можно присвоить уникальный цвет и значок, чтобы вам было проще различать их во время работы.
Цвета заголовков определены заранее, но вы можете настроить их, как вам нравится: кликните правой кнопкой по заголовку, выберите опцию Change Toolbar Color и укажите желаемый цвет.
Функция Search Everywhere (двойное нажатие Shift) в основном используется для поиска файлов, классов, методов, действий и настроек.
В этой версии она включает в себя текстовый поиск, аналогичный Find in Files. Теперь, когда по заданному запросу мало или вообще нет результатов, отображаются результаты текстового поиска.
В новом интерфейсе теперь можно быстро выбрать действия, которые вы хотите добавить на главную панель инструментов, в выпадающем меню.
Кликните правой кнопкой мыши по любому виджету, выберите опцию Add to Main Toolbar, и вы увидите доступные варианты.
В новом интерфейсе на Windows и Linux изменился дизайн меню на главной панели инструментов. Теперь элементы меню отображаются по горизонтали на панели инструментов.
Кроме того, само меню можно превратить в отдельную панель инструментов. Для этого перейдите в раздел View | Appearance | Main menu as a Separate Toolbar.
Мы усовершенствовали светлую тему, добавив альтернативный вариант Light with Light Header, отличающийся светлыми заголовками окон, всплывающими подсказками и уведомлениями.
Чтобы закрепить конфигурацию, нажмите на три точки рядом с ее названием и в открывшемся меню выберите Pin. Если вы хотите изменить порядок закрепленных конфигураций, просто перетащите их вверх или вниз по списку.
На панели Project теперь можно упорядочивать файлы по времени изменения. Чтобы включить эту функцию, нажмите на три точки на панели Project и выберите Tree Appearance | Sort by Modification Time.
Теперь можно переключаться между интерфейсами Redoc и Swagger для предварительного просмотра документации OpenAPI.
Благодаря интеграции с Redocly у вас есть доступ к консоли Try it из PhpStorm, и вы можете использовать ее для установки параметров и отправки запросов к API.
В PhpStorm можно запускать .http-файлы в качестве запросов с помощью специального CLI HTTP-клиента.
Начиная с этой версии, можно использовать CLI HTTP-клиента для взаимодействия с API GraphQL и установки WebSocket-соединений с сервисами.
Появилась возможность совместного использования общего JavaScript-кода для обработчиков запросов HTTP-клиента через импортируемые модули.
В PhpStorm 2023.2 появилась базовая интеграция с GitLab: теперь можно пользоваться функцией Merge Requests прямо из IDE.
В PhpStorm появилась возможность выбирать для коммита только определенные фрагменты кода.
Откройте файл с изменениями, выделите строки в редактируемом фрагменте и вызовите действие Include these lines into commit из контекстного меню. Напротив каждой строки появятся флажки, и вы сможете отдельно отметить те строки, которые хотите добавить в коммит.
Некоторые языки и технологии пока нативно не поддерживаться в PhpStorm, но обеспечить их поддержку можно при помощи языкового сервера. Поэтому мы сделали так, чтобы разработчики плагинов могли использовать API LSP и интегрировать необходимый LSP-сервер.
Если вы создали свой собственный язык программирования или фреймворк, для его поддержки в IDE можно написать LSP-сервер и плагин.
На данный момент поддержка LSP включает в себя подсветку ошибок и предупреждений, быстрые исправления, автодополнение кода и навигацию по декларациям.
PhpStorm 2023.2 интегрируется с платформой Qodana — умным механизмом статического анализа, подходящим для любого CI/CD-пайплайна.
Вы можете за пару кликов запустить статический анализ кода, просмотреть список проблем по всему проекту, а затем настроить Qodana в вашей CI/CD-системе для установки критериев качества и запуска серверных проверок.
Настроив Qodana в CI/CD-системе, можно просматривать результаты серверного анализа, не покидая IDE.
Благодаря новому форматированию информацию об ошибках и предупреждениях в JavaScript и TypeScript проще читать, а значит легче находить проблемы в коде.
We’ve implemented syntax support and an inspection that alerts you if a CSS nested selector starts with an identifier or functional notation.
Поддержка Vue Language Server (VLS), также известного как Volar, позволила улучшить обнаружение ошибок и получать более точную информацию о типе во всплывающих окнах навигации и документации. По умолчанию VLS используется для TypeScript 5.0 и более свежих версий. Интеграцию с VLS для всех версий TypeScript можно включить в разделе Settings | Languages & Frameworks | TypeScript | Vue.