Что нового в RubyMine 2024.1

Автодополнение кода для целых строк, поддержка менеджера версий mise, обновления инспекций для Ruby 3.3, поддержка классов и файлов Ruby с пользовательским словоизменением, закрытие тегов в ERB, возможность выполнения команд VCS в SDK текущего проекта, debase 3.0 для Ruby 3.3 и многое другое.

Автодополнение строки целиком

Автодополнение строки целиком

Автодополнение строки целиком

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

Rails

Поддержка классов и файлов Ruby с пользовательским словоизменением

Поддержка классов и файлов Ruby с пользовательским словоизменением

Новая версия RubyMine распознает имена классов и файлов с пользовательским словоизменением и выбирает для них правильные иконки в представлении Project, на вкладках и в диалоге Search Everywhere. Навигация и анализ кода работают также для сокращений, используемых в контроллерах и моделях.

Закрытие тегов для циклов и условных конструкций в ERB

Закрытие тегов для циклов и условных конструкций в ERB

RubyMine добавляет закрывающие теги <% end %> после циклов и блоков условных конструкций, в том числе if, unless, while, for, begin, until и т. п.

Возможности и улучшения

Поддержка менеджера версий Mise

Поддержка менеджера версий mise

В версии 2024.1 мы добавили поддержку менеджера версий mise. Она включает в себя выявление версий Ruby, установленных с помощью mise, совместимость с Bundler, а также выполнение всех ключевых операций: запуска, отладки и тестирования.

Выполнение команд VCS с помощью SDK текущего проекта

Теперь RubyMine может выполнять команды системы контроля версий в контексте локального SDK текущего проекта. Это означает, что при использовании Git все сценарии будут использовать конкретный SDK Ruby, связанный с текущим проектом.

В настоящее время эта функция доступна только на macOS и Linux.

debase 3.0 для Ruby 3.3

Мы реализовали поддержку использования debase 3.0 для отладки вместе с Ruby 3.3.

Новый терминал

Новый терминал Бета-версия

В RubyMine 2024.1 был переработан интерфейс и функционал терминала, так что работать с командной строкой стало проще и удобнее. Знакомый инструмент выглядит по-новому: теперь команды разбиты на отдельные блоки с удобной навигацией между ними. Мы также добавили автодополнение для команд и простой доступ к истории команд.

Липкие строки в редакторе

Липкие строки в редакторе

Для упрощения работы с большими файлами и исследования новых кодовых баз мы добавили липкие строки в редакторе. Эта функция позволяет закрепить в верхней части окна редактора основные структурные элементы, например начала классов или методов, чтобы они были постоянно видны во время прокрутки кода. Благодаря этому основные области будут постоянно на виду, и для быстрой навигации достаточно будет просто кликнуть по закрепленной строке.

AI Assistant

Рендереры типа в отладчике

Улучшения

В AI Assistant сделан ряд важных обновлений: теперь он лучше генерирует тесты, улучшена генерация кода в редакторе, добавлены пользовательские запросы для сообщений коммитов и возможность создавать файлы из сниппетов.

Обратите внимание, что, начиная с версии 2024.1, AI Assistant выведен из состава IDE в отдельный плагин. Мы сделали это для того, чтобы у вас было больше свободы в принятии решений об использовании технологий на основе искусственного интеллекта и больше контроля над собственной рабочей средой. Для использования AI Assistant по-прежнему нужна подписка на JetBrains AI.

Ruby

Переход за закрывающий символ |

Переход за закрывающий символ |

Теперь с помощью клавиши Tab можно перескакивать за закрывающий символ |.

Обновления инспекций для Ruby 3.3

Обновления инспекций для Ruby 3.3

  • RubyMine больше не показывает предупреждения для retry, redo, break или next в выражении defined?(), даже за пределами цикла.
  • RubyMine точнее выявляет определения методов, содержащие ресиверы литералов и показывает соответствующие предупреждения.

VCS

Просмотр изменений в ветках на вкладке Log

Просмотр изменений в ветках на вкладке Log

В RubyMine 2024.1 стало проще выполнять код-ревью благодаря удобному отображению изменений, связанных с ветками. Теперь в GitHub, GitLab и Space можно посмотреть изменения в определенной ветке на отдельной вкладке Log в окне Git. Для этого нажмите на имя ветки в окне Pull Requests и выберите в меню пункт Show in Git Log.

Ревью кода в редакторе

Ревью кода в редакторе

RubyMine 2024.1 предлагает пользователям GitHub и GitLab новый улучшенный режим код-ревью. Встроенная в редактор функция упрощает взаимодействие между авторами кода и ревьюерами. При проверке ветки пул/мердж-реквеста режим ревью активируется автоматически. На полях появляются розовые маркеры, указывающие на изменения кода, которые требуют проверки. При нажатии на такой маркер откроется всплывающее окно, где показан исходный код, чтобы ревьюер сразу увидел, что изменилось. Иконки на полях редактора помогают быстро начать новые обсуждения, а также посмотреть и скрыть уже существующие. Кроме того, с их помощью удобно просматривать комментарии, отвечать и реагировать на них.

Статус CI-проверок в окне Git

Статус CI-проверок в окне Git

Мы добавили новый столбец на вкладке Log в окне Git, чтобы было удобно просматривать результаты проверок коммитов в GitHub, выполненных CI-системой.

Создание пул- и merge-реквестов из уведомлений о пуше изменений

Создание пул/мердж-реквестов из уведомлений о пуше изменений

После отправки изменений в систему контроля версий IDE в одном уведомлении сообщит вам об успешном пуше и предложит создать пул- или мердж-реквест.