Что нового в WebStorm 2023.2

Улучшенное форматирование ошибок в JavaScript и TypeScript, поддержка Vue Language Server (Volar) и вложенности CSS, стабильный новый интерфейс, интеграция с GitLab, LSP для разработчиков плагинов, а также улучшения для Svelte, Preact и SolidJS.

JavaScript, TypeScript и CSS

Улучшенное форматирование ошибок для JavaScript и TypeScript

Улучшенное форматирование ошибок в JavaScript и TypeScript

В WebStorm 2023.2 мы постарались улучшить способ представления ошибок типов в JavaScript и TypeScript. Благодаря новому форматированию информацию об ошибках и предупреждениях проще читать, а значит легче находить проблемы в коде. Новым способом отображаются все ошибки в TypeScript-коде и наиболее распространенные в JavaScript, а также локализованные ошибки.

Автоимпорт при использовании быстрых исправлений и шаблонов Live Templates

Автоимпорт при использовании быстрых исправлений и шаблонов Live Templates

Если применение intention-действия или быстрого исправления приводит к тому, что в файл не экспортируется неразрешенный элемент, WebStorm теперь может автоматически добавлять в файл уникальные импорты для этого элемента. В настройках каждого шаблона (Settings | Editor | Live Templates) есть опция, позволяющая автоматически добавлять уникальные импорты для элементов, которые в противном случае не были бы разрешены.

Поддержка вложенности CSS

Поддержка вложенности CSS

WebStorm 2023.2 now supports the CSS nesting module feature. Мы добавили поддержку синтаксиса и инспекцию для проверки того, что вложенный селектор не начинается с идентификатора или функциональной нотации.

Преобразование цвета в lch и oklch

Преобразование цвета в lch и oklch

Мы расширили поддержку преобразования цветов в CSS: теперь можно преобразовывать цвета в форматы lch и oklch. В WebStorm 2023.2 есть несколько действий, позволяющих быстро переключаться между rgb, hsl, lch, oklch и другими форматами цвета. Чтобы попробовать, нажмите Alt+Enter.

Фреймворки и технологии

Поддержка Vue Language Server

Поддержка Vue Language Server

У нас отличные новости для пользователей Vue: в WebStorm появилась поддержка Vue Language Server (Volar), которая улучшает обнаружение ошибок и позволяет получать более точную информацию о типе во всплывающих окнах навигации и документации. По умолчанию для TypeScript 5.0 и более поздних версий используется VLS, а для более ранних — обертка над сервисом TypeScript. Вы можете включить интеграцию с VLS для всех версий TypeScript в разделе Settings | Languages & Frameworks | TypeScript | Vue.

Улучшения для Vue

Улучшения для Vue

В WebStorm 2023.2 вас ждет несколько улучшений для Vue. Во-первых, добавлена поддержка макроса defineModel, что упрощает работу с двусторонним связыванием. Макрос автоматически регистрирует prop и возвращает ref, который можно напрямую изменять. Еще мы добавили поддержку механизма provide/inject с автодополнением поля inject, а также возможность разрешать вставленные свойства и корректировать информацию о типе.

Улучшенная поддержка App Router в Next.js

Улучшенная поддержка App Router в Next.js

В Next.js 13.1 теперь есть плагин для TypeScript Language Service, специально разработанный для нового каталога app. Плагин дает подсказки по настройке страниц и макетов, а также полезные советы по использованию серверных и клиентских компонентов и включает в себя документацию, которую можно просматривать в WebStorm. Мы также избавились от ложных предупреждений о неиспользованных элементах в каталоге app.

Новые шаблоны для React-хуков

Новые шаблоны кода для React-хуков

Мы добавили новые шаблоны кода, или live templates, как они называются в WebStorm, для React-хуков. Их можно найти в разделе в разделе Settings | Editor | Live Templates > React hooks. Чтобы воспользоваться ими, введите в редакторе сокращение, связанное с шаблоном, и нажмите Tab, чтобы его развернуть.

Улучшения для Svelte

Улучшения для Svelte

В этой версии появилась интеграция со Svelte Language Server. Теперь все ошибки, о которых сообщает svelte-check, отображаются прямо в IDE, включая результаты проверки на null в разметке, проверки типов входных параметров и проверки типобезопасности, обеспечиваемые SvelteKit. Мы также поддержали случаи, когда псевдонимы путей определяются в конфигурационных файлах бандлеров, а не в tsconfig.json. WebStorm будет разрешать импорт с такими псевдонимами путей для Svelte, Vue и Astro.

Режим наблюдения за Jest-тестами в окне Run

Режим наблюдения за Jest-тестами в окне Run

В окне Run появилась кнопка Watch for Changes для Jest-тестов, которая позволяет включить режим наблюдения. Это избавляет от необходимости вручную настраивать опции --watch/--watchAll в конфигурации запуска.

Улучшенная поддержка SolidJS и Preact

Улучшенная поддержка SolidJS и Preact

Для SolidJS теперь доступен рефакторинг переименования геттера и сеттера функции createSignal. Мы также улучшили поддержку Emmet в Preact и SolidJS: теперь WebStorm использует информацию о типе из JSX.IntrinsicElements для корректного разворачивания Emmet. Наконец, WebStorm больше не показывает ложные ошибки в атрибутах классов, а навигация по информации о типах JSX работает корректно.

Улучшения для Angular

Мы продолжаем работу над улучшением поддержки strictTemplates. Изменился способ обработки дженериков и входных данных директив. Теперь WebStorm интерпретирует методы ngTemplateContextGuard и распространяет оценку типов на переменные в шаблоне. Библиотеки, активно использующие отображаемые типы, такие как NgRx, теперь тоже работают корректно.

Обновления для Astro

В WebStorm 2023.2 вас ждет несколько улучшений в поддержке Astro. Теперь PostCSS по умолчанию работает в теге <style> компонентов Astro. Кроме того, в теге <style> теперь можно использовать CSS-препроцессоры, такие как Sass, Less и Stylus.

Новый интерфейс

Завершено бета-тестирование нового интерфейса

Завершено бета-тестирование нового интерфейса

В прошлом году в WebStorm и других наших IDE мы представили новый, более минималистичный интерфейс. Мы доработали его с учетом ваших пожеланий и объявляем о завершении бета-тестирования. Вы можете переключиться на новый интерфейс, воспользовавшись кнопкой IDE and Project Settings в правом верхнем углу IDE. Далее рассказываем об основных изменениях интерфейса, вошедших в этот релиз.

Новый интерфейс: разделение окон инструментов по вертикали

Новый интерфейс: расширенные настройки главной панели инструментов

В новом интерфейсе можно быстро добавлять действия на панель инструментов через специальное выпадающее меню. Кликните правой кнопкой мыши по любому виджету, выберите опцию Add to Main Toolbar, и вы увидите доступные варианты.

Новый интерфейс: цветные заголовки проектов

Новый интерфейс: цветные заголовки проектов

В WebStorm 2023.2 заголовки проектов стали цветными. Это упрощает навигацию, когда открыто несколько проектов. Каждому проекту можно присвоить уникальный цвет и значок, чтобы вам было проще различать их во время работы.

Новый интерфейс: светлая тема со светлыми заголовками

Новый интерфейс: светлая тема со светлыми заголовками

Мы усовершенствовали светлую тему, добавив альтернативный вариант Light with Light Header, отличающийся светлыми заголовками окон, всплывающими подсказками и уведомлениями.

Новый интерфейс: переработанное меню на главной панели

Новый интерфейс: переработанное меню на главной панели

В новом интерфейсе изменился дизайн меню на главной панели инструментов для Windows и Linux. Теперь элементы меню отображаются по горизонтали на панели инструментов. Также можно превратить это меню в отдельную панель инструментов с помощью опции View | Appearance | Main menu as a Separate Toolbar.

Новый интерфейс: обновленные элементы управления окном на macOS

Новый интерфейс: обновленные элементы управления окном на macOS

В полноэкранном режиме на macOS элементы управления окном теперь располагаются прямо на главной панели инструментов, а не на плавающей панели, как было раньше.

Новый интерфейс: закрепление конфигураций запуска в виджете Run

Новый интерфейс: закрепление конфигураций запуска в виджете Run

Чтобы вам было проще управлять несколькими конфигурациями запуска, самые часто используемые теперь можно закреплять в виджете Run. Чтобы закрепить конфигурацию, нажмите на три точки рядом с ее названием и в открывшемся меню выберите Pin. Если у вас несколько закрепленных конфигураций, можно легко менять их порядок, перетаскивая их по списку.

Встроенные инструменты для разработчиков

Интеграция с GitLab

Интеграция с GitLab

В WebStorm 2023.2 появилась начальная интеграция с GitLab. Это позволит оптимизировать ваш рабочий процесс за счет использования функции Merge Request прямо в IDE.

Коммит отдельных строк кода

Коммит отдельных строк кода

В WebStorm 2023.2 появилась долгожданная возможность выбирать для коммита только определенные фрагменты кода. Чтобы сделать частичный коммит, выберите строки внутри блока кода и вызовите действие Include Selected Lines into Commit из контекстного меню. Блок будет разделен на отдельные строки, а выбранные строки будут подсвечены.

Улучшения для Docker

Улучшения для Docker

В WebStorm теперь можно посмотреть превью содержимого слоев Docker-образов в окне Services. Кроме того, появилась возможность указать конфигурацию запуска в качестве задачи перед запуском (Before launch task). WebStorm не будет инициировать следующую конфигурацию запуска, пока текущий контейнер не достигнет состояния готовности. Подробнее

Новые возможности HTTP-клиента

Новые возможности HTTP-клиента

В WebStorm теперь можно посмотреть превью PDF- и HTML-файлов прямо в результатах запроса HTTP-клиента. Также появилась возможность совместного использования общего JavaScript-кода для обработчиков запросов HTTP-клиента через импортируемые модули. Подробнее

Предварительная версия AI Assistant

Превью AI Assistant Ограниченный доступ

В EAP-сборках WebStorm 2023.2 мы представили предварительную версию плагина AI Assistant с интегрированным ИИ-чатом и генерацией сообщений коммитов. Плагин появился в ограниченном доступе на Marketplace. Мы планируем регулярно выпускать к нему обновления и расширять его функциональность. Подробности читайте в нашем блоге.

Интеграция с Qodana

Интеграция с Qodana

В WebStorm появилась интеграция с Qodana — платформой для контроля качества кода. Вы можете запускать статический анализ кода прямо в WebStorm, просматривать список проблем по всему проекту и настроить Qodana в вашей CI/CD-системе для установки критериев качества. После настройки вы сможете видеть результаты серверного анализа в своей IDE. Подробности читайте в нашем блоге.

Взаимодействие с IDE

Текстовый поиск в Search Everywhere

Текстовый поиск в Search Everywhere

Функция Search Everywhere (двойное нажатие Shift) теперь включает в себя возможности текстового поиска, аналогичные Find in Files. Результаты текстового поиска отображаются в тех случаях, когда по заданному запросу мало или вообще нет других результатов. По умолчанию текстовый поиск включен, но вы можете изменить настройки в разделе Settings | Advanced Settings > Search Everywhere.

Сортировка файлов на панели Project по времени изменения

Сортировка файлов на панели Project по времени изменения

В WebStorm 2023.2 появилось долгожданное упорядочивание файлов по времени изменения. Файлы автоматически пересортировываются при сохранении изменений в проекте. Чтобы включить эту функцию, нажмите на три точки на панели Project и выберите Tree Appearance | Sort by Modification Time.

Рекомендации плагинов в настройках

Рекомендации плагинов в настройках

Чтобы вам было проще настраивать WebStorm под ваши проекты и расширять функциональность IDE при помощи плагинов, мы переработали интерфейс раздела Settings | Plugins. Теперь вы найдете там список рекомендуемых плагинов, составленный с учетом особенностей вашего проекта.

Навигация по проектным папкам одним кликом

Навигация по проектным папкам одним кликом

Теперь можно разворачивать и сворачивать папки проекта на панели Project одним кликом с помощью опции Open Directories with Single Click. Вы найдете ее в выпадающем меню, если нажмете на три точки.

Разработка плагинов

Поддержка LSP для разработчиков плагинов

Поддержка LSP для разработчиков плагинов

Мы реализовали LSP API для тех, кто хочет пользоваться умными возможностями редактирования при работе с технологиями, которые еще нативно не поддерживаются в IDE JetBrains. Подробнее