Что нового в RubyMine 2022.3

Новый интерфейс, расширенная поддержка RBS, улучшения для работы с общими контекстами и примерами в RSpec, обновленные панели Navigation и Structure, а также новые возможности удаленной разработки.

Rails

Улучшенный структурный вид для ERB

Улучшенный структурный вид для ERB

Теги в окне Structure показываются по-новому. Мы улучшили отображение и убрали лишние записи.

ActiveRecord на панели Structure

ActiveRecord на панели Structure

RubyMine теперь показывает атрибуты базы данных на самом верху дерева на панели Structure, и такое отображение включено по умолчанию. Эта функциональность доступна как на панели Structure (Alt+7), так и во всплывающем окне Structure (Ctrl+F12).

Быстрая навигация по таблицам при просмотре структуры schema.rb

В RubyMine 2022.3 появилась возможность перехода к определенным таблицам базы данных при просмотре файла schema.rb. Можно быстро найти нужную таблицу или столбец, вызвав окно Structure (Alt+7).

Улучшенный мастер создания Rails-проекта

Улучшенный мастер создания Rails-проекта

При создании нового Rails-проекта вы увидите путь к нему прямо под полем Location. Мы обновили поле версии Rails: установить нужную версию гема Rails проще, нажимая на плюс. В поле JavaScript framework вместо слова «default» теперь отображается само название фреймворка, используемого по умолчанию.

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

Теперь над каждым действием контроллера есть подсказка с URL-адресом, который ссылается на действие. Такие подсказки включаются и выключаются в разделе Settings/Preferences | Editor | Inlay hints.

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

Переключение на новый интерфейс

Переключение на новый интерфейс

В RubyMine 2022.3 можно переключиться на новый, полностью переработанный интерфейс. Современный и производительный, он обеспечивает быстрый доступ к основной функциональности, по мере необходимости раскрывая более продвинутые возможности IDE. Переключиться на новый интерфейс можно в настройках: Settings | Appearance & Behavior | New UI (Beta).

RBS

Подсказки типов RBS в ссылках на методы

Подсказки типов RBS в ссылках на методы

При вызове ссылки на метод теперь поддерживается предоставление типов RBS. Чтобы вызвать всплывающее окно с именами параметров метода (если оно закрылось или если у вас не включено его автоматическое отображение), просто выделите нужный метод и нажмите Ctrl+Shift+P (или перейдите в View | Type Info).

Улучшенное редактирование и добавление сигнатур методов в определения методов Ruby

Мы упростили процесс написания методов с сигнатурами типов. Больше не нужно переключаться между несколькими файлами Ruby и RBS. Теперь можно записать определение метода всего одним действием. Узнайте больше об этом простом способе редактирования и добавления новых сигнатур типов.

Информация из RBS в окне Documentation

Во всплывающем окне Quick Documentation (Ctrl+Q) теперь можно посмотреть информацию о типе из RBS. Если у метода есть RBS-сигнатура, RubyMine покажет информацию о параметрах и их значение в документации.

Встроенные подсказки для привязок синглтон-типов в RBS

Встроенные подсказки для привязок синглтон-типов в RBS

Мы добавили новые подсказки для блоков с привязками синглтон-типов в RBS. Кроме того, RubyMine теперь показывает подсказки для нумерованных параметров только при использовании внутри блока, чтобы подсказок не было слишком много.

RSpec

Автодополнение имен общих контекстов

Автодополнение имен общих контекстов

Мы добавили поддержку вариантов автодополнения из любых определенных общих контекстов и примеров.

Поддержка псевдонимов групп примеров: xdescribe, xcontext, fdescribe, fcontext

RubyMine распознает псевдонимы групп примеров xdescribe, xcontext, fdescribe, and fcontext и показывает такие блоки на панели Structure. Эти тесты также можно запустить с помощью значков на полях редактора.

Навигация между контроллерами и спецификациями запросов и маршрутизации

RubyMine теперь связывает спецификации запросов и маршрутизации с соответствующими контроллерами. Откройте нужную спецификацию и нажмите Ctrl+Shift+T, чтобы перейти к контроллеру, используемому в качестве объекта тестирования. Для обратной навигации нажмите это же сочетание клавиш.

Find Usages и Rename для общих контекстов и примеров в RSpec

Find Usages и Rename для общих контекстов и примеров в RSpec

Теперь в RubyMine можно находить использования общих контекстов, а с помощью рефакторинга Rename менять имена общих контекстов и примеров вместе с элементами, на которые они ссылаются.

Запуск общих примеров в контексте групп в RSpec

Запуск общих примеров в контексте групп в RSpec

В этой версии мы добавили возможность указывать контекст для запуска общих примеров. Теперь при запуске спецификаций, содержащих общие примеры, RubyMine показывает диалог, где можно выбрать контекст, в котором они будут выполняться.

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

Новый способ работы с проектами в WSL2

Новый способ работы с проектами в WSL2

RubyMine 2022.3 повышает производительность IDE при работе с проектами в WSL2. Возможности удаленной разработки предлагают альтернативный способ работы с проектами, запущенными в файловых системах WSL2. Вместо того чтобы запускать всю IDE на Windows, ее бэкенд будет запускаться непосредственно в WSL2, а вы сможете подключиться к нему так же, как и к любой другой удаленной машине.

Другие улучшения

Новые шаблоны проектов для Next.js и Vite

Новые шаблоны проектов для Next.js и Vite

В мастере создания проектов на начальном экране RubyMine появились шаблоны для Vite и Next.js. Мы также привели шаблон для Vue в соответствие последним стандартам.

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

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

RubyMine 2022.3 позаботится о неразрешенных импортах и предложит варианты для импортирования Vue-компонентов. Мы поддержали синтаксис деструктурирования входных параметров, улучшили автодополнение кода и проверку типов для входных параметров компонентов библиотеки Vue, а также исправили несколько проблем с Nuxt 3.

Поддержка файлов .dockerignore

Поддержка файлов .dockerignore

Мы добавили полную поддержку файлов .dockerignore, включая подсветку и автодополнение кода. Теперь эти файлы учитываются при сборке образа из IDE.

Новый способ синхронизации настроек

Новый способ синхронизации настроек

Представляем полностью переработанное решение для синхронизации настроек IDE. Новый плагин Settings Sync позволяет синхронизировать большинство платформенных настроек, настройки встроенных и некоторых сторонних плагинов. В зависимости от вашего текущего подхода к синхронизации плагин, возможно, нужно будет включить вручную. Подробнее

Поддержка Vitest

Поддержка Vitest

RubyMine теперь поддерживает Vitest, нативный Vite-фреймворк для юнит-тестирования. Вы можете запускать, перезапускать и отлаживать тесты, а для сценария All Tests по умолчанию включен watch-режим. В этом режиме поддерживаются снэпшот-тестирование и анализ покрытия, что позволяет практически мгновенно получать обратную связь о покрытии кода тестами.