В RubyMine 2023.2 появилась новая функция AI Assistant, расширена поддержка Turbo-Rails и Import Maps, улучшена производительность и поддержка LSP API для разработчиков плагинов, а также расширены возможности работы с RBS и Vue.
В новой версии обновлены возможности автодополнения кода Turbo в проектах Ruby on Rails. Теперь автодополнение можно использовать для потоков Turbo в контроллерах и представлениях, а также для трансляции потоков Turbo из моделей. Кроме того, доступно автодополнение для фреймов Turbo в представлениях.
Пользователи новой версии могут использовать команды importmap в Run Anything, модулях спецификаторов автодополнения и путях к файлам в методах pin
и pin_all_from
, а также переходить к импортированным модулям и их использованиям.
Теперь пользователям доступна подсветка синтаксиса в примерах кода, чтобы было легче понять назначение каждой инспекции.
Мы добавили анализ кода для аксессоров ActiveRecord::Store
. Теперь можно использовать автодополнение кода и навигацию для аксессоров, методов отслеживания изменений (dirty), методов доступа к изменениям, внесенным при последнем сохранении, а также для валидации аксессоров.
Пользователь может настроить формат отображения различных объектов в окне Debug. Для этого используются рендереры, то есть уникальные конфигурации, привязанные к определенным типам, которые определяют, как экземпляры этих типов отображаются в окне Debug. Благодаря использованию пользовательских выражений, рендереры обеспечивают очень гибкое представление данных.
ИИ-ассистенту AI Assistant можно задавать вопросы, обсуждать с ним задачи или совместно с ним выполнять работу. IDE предоставит информацию, касающуюся проекта, включая сведения об используемых языках программирования и технологиях. Добившись нужного результата, сгенерированный с помощью ИИ код можно вставить в редактор с помощью функции Insert Snippet at Caret или просто скопировав и вставив его.
В диалоге Commit Changes появилась кнопка Generate Commit Message with AI Assistant. При нажатии на нее информация об изменениях передается большой языковой модели, которая создает сообщение коммита с описанием внесенных изменений.
Чтобы создать с помощью большой языковой модели документацию для объявления, просто перейдите в подменю AI Actions и выберите Write documentation. После этого IDE сгенерирует статическую часть комментария, а ИИ создаст собственно текст документации.
В новом интерфейсе изменился дизайн меню на главной панели инструментов для Windows и Linux. Теперь элементы меню будут отображаться горизонтально поверх панели инструментов, а само меню преобразуется в отдельную панель.
Элементы управления окном теперь располагаются прямо на главной панели инструментов, а не на плавающей панели, как было раньше.
В представлении Project теперь можно использовать опцию Open Directories with Single Click, чтобы быстрее разворачивать и сворачивать папки проектов. Для этого достаточно нажать на значок с тремя точками и выбрать нужный пункт в раскрывающемся меню.
Новая опция Light with Light Header обеспечивает единообразное представление элементов интерфейса. Благодаря ей все заголовки окон, подсказки и всплывающие уведомления отображаются в единой светлой гамме, и интерфейс выглядит лучше.
Цветные заголовки проектов упрощают навигацию, если открыто несколько проектов. Каждому проекту можно присвоить собственный цвет и значок, чтобы их было проще различать во время работы.
Мы добавили новое быстрое исправление для замены опечаток в именах символах с использованием подсказок.
В новой версии появились функции форматирования для псевдонимов классов и модулей.
Мы добавили инспекции правил именования для интерфейсов, псевдонимов типов и переменных типов.
Для синтаксиса use
в RBS теперь доступен анализ кода.
Мы добавили аннотации и инспекции для директив, когда они используются неверным образом.
RubyMine обеспечивает последовательное форматирование директив use в соответствии с принятыми стандартами.
В новой версии появились анализ кода, навигация вывод типов и рефакторинг rename для псевдонимов классов и модулей.
Мы улучшили синхронизацию гемов для Docker и SDK Docker-compose. В новой версии для копирования гемов как из образа, так и из запущенного контейнера используется только API Docker Engine.
Лексер RubyMine был полностью переработан, в результате значительно увеличилась скорость лексического анализа и парсинга.
Поддержка LSP API включает в себя ряд возможностей, в том числе подсветку ошибок и предупреждений, быстрые исправления, автодополнение кода и навигацию по объявлениям. Мы планируем в ближайшее время добавить и другие функции.
Мы обновили параметры сворачивания кода по умолчанию. Теперь это:
В RubyMine добавлена базовая поддержка Vue Language Server (Volar), позволяя обеспечить более точное обнаружение ошибок. По умолчанию Volar используется для TypeScript 5.0 и более свежих версий, а для более ранних — наша собственная реализация.
Чтобы было удобнее управлять несколькими конфигурациями запуска, наиболее часто используемые теперь можно закреплять в виджете Run.
Теперь файлы в представлении Project можно отсортировать по времени изменения. Новая версия RubyMine может автоматически отсортировать файлы по этому параметру.
Стало удобно добавлять действия на панель инструментов с помощью раскрывающегося меню.
В новой версии добавлена новая коллекция шаблонов Live Templates, а также повышена эффективность и удобство работы с хуками React.