Что нового в WebStorm 2021.3

Поддержка приватных полей класса ES2022, новые возможности для удаленной разработки, улучшенная поддержка монорепозиториев, поддержка Deno LSP, возможность разделения окна Run и многое другое.

JavaScript и TypeScript

Поддержка рефакторинга для приватных полей класса

Поддержка рефакторинга для приватных полей класса

Поддержку приватных полей мы добавили еще в 2018 году. Однако она была реализована на основе старого предложения TC39 и со временем отклонилась от стандарта. Чтобы решение соответствовало стандарту, мы полностью переработали существующую реализацию поддержки. WebStorm 2021.3 поддержит приватные поля класса ES2022.

Поддержка URL-адресов в инструкциях import

Поддержка URL-адресов в инструкциях import

В новой версии вы можете загрузить модули ES6, поставив курсор на URL-адрес в инструкции import и вызвав быстрое исправление. Модуль будет загружен вместе со всеми зависимостями и связан с проектом как библиотека. Чтобы попробовать, поставьте курсор на URL, нажмите Alt+Enter и выберите Download module.

Улучшенный поиск соответствия между файлами js и .d.ts

Улучшенный поиск соответствия между файлами .js и .d.ts

Мы улучшили поиск соответствия между файлами .js и .d.ts и добавили иконки на полях редактора для удобного переключения между этими файлами. Подробнее об этих изменениях — в нашем блоге.

Более быстрая индексация JavaScript-файлов

Время индексации JavaScript-файлов удалось сократить на 20%. Надеемся, это поможет вам быстрее приступать к работе после открытия нового проекта или большого обновления Git. Обратите внимание, что это изменение будет менее заметным, если ваш проект в основном состоит из файлов .ts или других типов.

Улучшенная поддержка монорепозиториев

В этот релиз мы включили несколько улучшений для работы с монорепозиториями. Самое значительное изменение заключается в том, что автоматически добавленные импорты теперь учитывают структуру проекта и обрабатывают каждую папку проекта с package.json как отдельный пакет.

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

Новая инспекция для обновления зависимостей

Новая инспекция для обновления зависимостей

WebStorm 2021.3 позволяет обновлять пакеты npm до последней версии прямо из редактора. Откройте файл package.json, установите курсор на версию пакета, который нужно обновить, нажмите Alt+Enter и выберите Update ‘имя пакета’ to the latest version. Кроме того, при наведении курсора на версию пакета отобразится быстрое исправление.

Переработанная интеграция с Deno

Переработанная интеграция с Deno

Для улучшения работы с Deno в WebStorm мы перешли на Deno LSP и исправили ряд проблем. Подробнее о том, как начать работу с Deno — в нашем блог-посте.

Улучшенное автодополнение HTML-кода

Улучшенное автодополнение HTML-кода

Мы улучшили работу автодополнения в HTML. Теперь при вводе имени тега или аббревиатуры либо при вызове автодополнения WebStorm показывает подходящие варианты сразу же. Раньше нужно было сначала ввести символ <. Кроме того, в новой версии лучше работает функция автодополнения для мнемоников.

Проверка типов для Vue и React

Проверка типов для Vue и React

WebStorm 2021.3 поддерживает проверку типов в Vue-шаблонах. IDE уведомит вас, когда в выражениях, привязанных к свойствам, использован неверный тип. Это работает также для атрибутов React.

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

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

В этой версии мы значительно улучшили встроенный HTTP-клиент WebStorm. Добавлено много новых функций, в том числе поддержка ответов в виде двоичного кода, перенаправление вывода в заданный файл или директорию и многое другое.

Удаленная разработка

Удаленная работа с WebStorm

Удаленная работа с WebStorm

WebStorm 2021.3 поддерживает бета-версию нашего нового решения для удаленной разработки. Теперь вы можете подключиться к удаленной машине, на которой запущен бэкенд IDE, и работать над размещенным там проектом так же, как если бы он хранился локально. Это стало возможным благодаря нашему новому приложению JetBrains Gateway. Подробнее — в нашем блоге.

Действия при сохранении кода

Разработка с удаленным Node.js

Готовя этот релиз, мы значительно улучшили поддержку рабочего процесса, при котором Node.js установлен в Docker и используется интеграциями WebStorm с инструментами JavaScript. Теперь IDE позволяет использовать удаленный интерпретатор Node.js с ESLint, Jest, Mocha и npm. Подробнее читайте в нашем блоге.

Поддержка прокси для подключений по SSH

Поддержка прокси для подключений по SSH

Теперь в меню Preferences / Settings | Tools | SSH Configurations можно указать прокси-сервер HTTP или SOCKS для конфигурации SSH. В новом разделе HTTP/SOCKS Proxy можно выбрать тип прокси, ввести имя хоста и порт, а также при необходимости включить аутентификацию по логину и паролю.

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

Возможность разделения окна Run

Возможность разделения окна Run

Запустили сразу несколько конфигураций и хотите посмотреть их результаты одновременно? Теперь окно Run можно разделить. Просто перетащите нужную вкладку в выделенную область. Чтобы убрать разделение окна, можно перетащить вкладку обратно или щелкнуть правой кнопкой на верхней панели и выбрать в контекстном меню команду Unsplit.

Новое окно Bookmarks

Новое окно Bookmarks

Раньше в WebStorm было два похожих понятия — Favorites и Bookmarks. Понять, чем они отличаются, было сложно, поэтому мы решили оставить только одно — Bookmarks. Мы изменили логику этой функциональности и создали для закладок новое окно. Отныне все файлы и папки, которые вы помечаете как важные с помощью клавиши F11, будут показаны в окне Bookmarks.

Предпросмотр исходного кода в окне Show Usages

Предпросмотр исходного кода в окне Show Usages

Теперь, нажимая сочетание клавиш Ctrl+Alt+F7 или нажимая Ctrl и щелкая по определению, чтобы посмотреть использования нужного символа, можно включить предпросмотр исходного кода для найденного использования, щелкнув по квадратному значку.

Улучшения терминала

Улучшения терминала

Встроенный терминал WebStorm теперь поддерживает новый API ConPTY для Windows. Это изменение позволило устранить сразу несколько проблем и добавить поддержку 24-разрядного цвета. Кроме того, новая функция поддержки опережающего ввода предугадывает изменения в тексте и отображает их светло-серым цветом. Эта функция позволяет набирать код в терминале с одинаковой скоростью независимо от того, работаете вы на локальной или на удаленной машине.

Обновления режима специальных возможностей

Мы исправили некоторые недочеты режима специальных возможностей, чтобы сделать работу с инструментом чтения с экрана более удобной. Мы отключили всплывающее окно со списком окон инструментов и всплывающее окно быстрого просмотра документации, которые появлялись по наведению курсора. Поддержка режима специальных возможностей на macOS также была улучшена. Мы исправили несколько неполадок, связанных с VoiceOver, а также теперь можно создавать проекты с помощью инструмента чтения с экрана.

Возможность изменения размера шрифта для всех вкладок

Знаете ли вы, что с помощью колеса прокрутки мыши можно изменить размер шрифта в редакторе? Раньше эта функция работала только для текущего файла, теперь же ее можно использовать для всех открытых файлов сразу. В меню Preferences / Settings | Editor | General поставьте флажок Change font size with Command / Ctrl + Mouse Wheel in, а затем выберите настройку All editors.

Поддержка систем контроля версий

Реорганизация настроек системы контроля версий

Реорганизация настроек системы контроля версий

Мы полностью реорганизовали настройки в меню Preferences / Settings | Version Control, чтобы основные параметры конфигурации было проще найти. Например, настройки в узле Git теперь разбиты на разделы, соответствующие основным процессам: Commit, Push и Update. Кроме того, параметры, включенные в эти разделы, размещены более логичным образом.

Новое действие Push All up to Here

Новое действие Push All up to Here

Иногда у разработчика бывает несколько коммитов, над некоторыми он еще работает, а другие готовы к отправке. В таких случаях удобно передать на сервер только те, работа над которыми завершена. WebStorm позволяет отправить в удаленный репозиторий все коммиты вплоть до коммита, выбранного во вкладке Log окна Git. Просто выберите нужный коммит, щелкните по нему правой кнопкой и выберите Push All up to Here.

Функция Checkout and Rebase onto Current для удаленных веток

Функция Checkout and Rebase onto Current для удаленных веток

Функция Checkout and Rebase onto Current позволяет извлечь выбранную ветку и переместить ее на вершину ветки, в которой вы находитесь. До сих пор это действие было доступно только локально, но начиная с v2021.3 его можно использовать и для удаленных веток.

Новое окно Changes

Новое окно Changes

Раньше WebStorm показывала разницу между коммитами в отдельном диалоговом окне. Начиная с этого релиза, IDE будет отображать информацию в новом окне Changes. Чтобы открыть новое окно, перейдите на вкладку Log системы контроля версий, правой кнопкой нажмите на нужную версию и выберите в контекстном меню пункт Compare with local.