Что нового в RubyMine 2023.1

В RubyMine 2023.1 вас ждет поддержка Rails 7 и Ruby 3.2, обновления интерфейса, ускоренное автодополнение, снижение потребления памяти, улучшенная синхронизация гемов на WSL, более удобная навигация и работа с общими контекстами и примерами в RSpec, а также расширенная интеграция с Docker.

Ruby и Rails

Rails 7: поддержка автодополнения turbo-rails

RubyMine теперь поддерживает основные методы turbo-rails из Rails 7, позволяя вам писать Ruby-код еще быстрее.

Автодополнение параметров полей в методах ActiveRecord

Автодополнение параметров полей в методах ActiveRecord

Мы добавили поддержку автодополнения для некоторых CRUD-методов класса ActiveRecord. RubyMine теперь предлагает варианты автодополнения для аргументов методов ActiveRecord.

Значки для перехода от вызовов create_table к моделям

На полях редактора появились новые значки для перехода от моделей к соответствующим вызовам create_table в схеме. Теперь можно переходить от вызовов create_table в schema.rb к моделям, использующим эти таблицы. Откройте файл schema.rb и переходите к связанным моделям, нажимая на значки в левом поле редактора.

Поддержка Data.define в Ruby 3.2

Поддержка Data.define в Ruby 3.2

RubyMine поддерживает работу с методом define класса Data, который был представлен в Ruby 3.2. IDE теперь распознает методы чтения, созданные с помощью Data.define.

Создание экземпляров Data с квадратными скобками

Создание экземпляров Data с квадратными скобками

Data.define теперь позволяет создавать экземпляры класса Data с использованием квадратных скобок. RubyMine распознает такие экземпляры и отображает их при вызове Type Info.

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

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

Новая опция Pow operators позволяет отдельно расставлять пробелы вокруг операторов возведения в степень и других. Ее можно настроить на вкладке Spaces в разделе Preferences | Editor | Code Style | Ruby.

Блоки Minitest "description" и "it" в окне Structure

Блоки Minitest "description" и "it" в окне Structure

Теперь в окне Structure можно посмотреть структуру теста, вложенную под соответствующий метод. Это упрощает навигацию по большим тестам.

Новые возможности и улучшения

Поддержка Astro

Поддержка Astro

В RubyMine появилась долгожданная поддержка Astro.

Она доступна через плагин, который предоставляет базовую функциональность, включая подсветку синтаксиса, автодополнение кода с автоимпортами, рефакторинги, навигацию, intention-действия, сворачивание кода, поддержку Emmet и правильное форматирование.

Поддержка Tailwind CSS

Поддержка Tailwind CSS

В этой версии добавлена поддержка параметров конфигурации Tailwind CSS, в частности, автодополнение имен пользовательских классов в настройке classAttributes, а также поддержка экспериментальных настроек, таких как tailwindCSS.experimental.configFile. Мы также добавили автодополнение произвольных значений при использовании описаний в квадратных скобках.

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

Масштаб окна редактора

Теперь в RubyMine можно увеличивать и уменьшать размер всех элементов интерфейса одновременно. Для этого выберите View | Appearance в главном меню и настройте нужный масштаб. Менять масштаб также можно с помощью тачпада или тачскрина.

Возможность зафиксировать размер окон инструментов

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

Скрытая панель инструментов в режимах Zen и Distraction Free

Скрытая панель инструментов в режимах Zen и Distraction Free

Теперь в режимах Zen и Distraction Free верхняя панель инструментов скрыта.

Разделение окон инструментов по вертикали

Теперь область с окнами инструментов можно разделить по вертикали. Чтобы разместить окно в нижней части, просто перетащите его значок вниз по боковой панели и опустите под разделитель.

Компактный режим

Компактный режим

Для удобства работы на небольших экранах мы добавили компактный режим (Compact Mode), в котором интерфейс IDE выглядит более аккуратно и лаконично: мы сузили панели инструментов и заголовки окон, сократили отступы и интервалы, а также уменьшили кнопки и значки.

Вкладки проектов на macOS

Вкладки проектов на macOS

Теперь можно легко переключаться между проектами на macOS с помощью вкладок, расположенных под главной панелью инструментов.

Переработанный виджет запуска

Переработанный виджет запуска

Мы полностью переработали виджет Run, расположенный в верхней части IDE. Раньше вся область со значками была выделена цветом, а теперь значки зеленые и меньше бросаются в глаза.

Возможность настройки Actions on Save для новых проектов

Новая настройка позволяет задать Actions on Save для новых проектов. Вы можете указать, какие действия должны выполняться при сохранении изменений в будущих проектах.

Улучшенный поиск

Пользовательские инспекции поиска и замены на основе regexp

Создание инспекций поиска и замены на основе regexp

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

Поиск классов в Search Everywhere на основе машинного обучения

Поиск классов в Search Everywhere на основе машинного обучения

Как и на вкладках Actions и Files, стандартный алгоритм сортировки на вкладке Classes теперь тоже основывается на машинном обучении. Он выдает наиболее точные и актуальные результаты.

RBS

Отображение типов использования при переименовании символов RBS

Отображение типов использования при переименовании символов RBS

RubyMine теперь показывает типы использования символов RBS, когда вы их переименовываете.

RSpec

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

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

Мы улучшили навигацию внутри RSpec.

При нажатии Ctrl+Click на ссылке на субъект вы перейдете к ближайшему определению значения в области видимости.

Значки для запуска shared_examples_for и shared_context

Начиная с этой версии, работать с shared_examples_for и shared_contexts стало еще проще. Теперь их можно запускать с помощью значков на полях редактора.

Поддержка запуска конфигураций по уникальным идентификаторам

Поддержка запуска конфигураций по уникальным идентификаторам

Новая опция для конфигураций RSpec позволяет запускать тесты по номерам строк и уникальным идентификаторам примеров. Для этого в окне Run/Debug Configuration есть новое поле Example IDs/Line number.

В нем можно указать либо один номер строки, либо один или несколько идентификаторов примеров RSpec.

Форматирование описаний текучих интерфейсов для RSpec 3

Форматирование описаний текучих интерфейсов для RSpec 3

Встроенный форматер RubyMine теперь поддерживает описания текучих интерфейсов для RSpec 3. Пока тесты выполняются, они будут иметь шаблонное описание по умолчанию. Как только тестирование завершится, эти описания будут заменены на реальные имена примеров.

Docker

Объединение журналов всех контейнеров Docker Compose

Объединение журналов всех контейнеров Docker Compose

Журналы всех контейнеров Docker Compose теперь собраны в одном месте — на вкладке Dashboard, где они обновляются в реальном времени.

Поддержка реестра контейнеров Azure

Поддержка реестра контейнеров Azure

Подключаться к реестру контейнеров Azure стало гораздо проще. Чтобы настроить подключение, перейдите в раздел Docker Registry в меню Settings/Preferences | Build, Execution, Deployment | Docker и выберите опцию Docker V2 в поле Docker Registry.

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

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

Теперь у вас есть возможность добавлять флаги конфигурации :z при монтировании каталога с хоста. Это позволяет подключать тома к Docker-контейнерам на устройствах SELinux.