Новые возможности для работы с Ruby и RBS, улучшенное автодополнение кода, поиск и рефакторинг, улучшения в редакторе, поддержка VCS, Space, Code With Me и многое другое.
Теперь функции Go to declaration и Find usages, а также рефакторинг Rename работают точнее на проектах с использованием RBS. RubyMine использует объявления .rbs
, чтобы определить, как сущности проекта соотносятся друг с другом, вместо того, чтобы описывать все возможные варианты использования.
Теперь можно переходить между соответствующими файлами .rb
и .rbs
, используя новые действия. Щелкните правой кнопкой по сущности проекта, например, по классу или методу, и выберите Go to / Type Signature | Associated Declaration. Можно также использовать сочетание клавиш Ctrl+Alt+Home.
RubyMine использует сигнатуры RBS для определения типов элементов Ruby и более эффективного автодополнения кода. Теперь RubyMine поддерживает большинство сущностей RBS, в том числе переменные типа, параметры блоков, типы кортежей, типы процедур и т. п.
Для тех частей кода, у которых нет соответствующей сигнатуры RBS, RubyMine использует собственный вывод типов.
Доступ к информации, которая хранится в файлах .rbs
, позволяет RubyMine проверять код Ruby на большее число возможных ошибок. RubyMine отобразит ошибку типа при несоответствии RBS и кода Ruby. Кроме того, в этой версии появились новые инспекции самих файлов .rbs
, в том числе на корректность кода и неразрешенные ссылки. Также RubyMine поддерживает выполнение команд Steep с помощью функции Run anything.
В новой версии есть все необходимые возможности, которые облегчают чтение кода RBS: подсветка синтаксиса, форматирование, автоматические отступы, сворачивание кода, структурный вид и комментирование по сочетанию клавиш Ctrl+/.
Теперь RubyMine предлагает помощь при написании кода во время работы с файлами RBS: автодополнение кода, поиск использований, навигацию по коду, рефакторинги переименования и т. п. Кроме того, можно создать прототипы .rbs
и собственные шаблоны Live Templates для RBS.
Мы обновили описания для всех инспекций и быстрых исправлений, которые может выполнить RubyMine. В обновленных описаниях объясняется, какие изменения предлагает соответствующая инспекция и почему. В некоторых инспекциях даны примеры использования.
Теперь RubyMine поддерживает выполнение определенных действий при сохранении изменений — например, переформатирования кода. Все действия, которые можно запустить при сохранении изменений, перечислены в Preferences / Settings | Tools | Actions on Save.
В скретч-файлах можно делать заметки или наброски кода вне контекста проекта. Начиная с этой версии, можно выделить фрагмент кода, нажать Alt+Enter и быстро создать новый скретч-файл с этим фрагментом, выбрав Create new scratch file from the selection.
Local History помогает непрерывно отслеживать изменения в проекте независимо от системы контроля версий. В этой версии мы добавили в Local History функцию поиска. Теперь нужное изменение стало проще найти, если вы помните хотя бы пару ключевых слов.
Теперь в уведомление об авторских правах на проект можно включить и год создания, и год текущей версии. Обновленный шаблон с двумя датами доступен в Preferences/Settings | Editor | Copyright | Copyright profile.
Мы добавили новый узел в Preferences | Settings – Advanced Settings. Он содержит несколько параметров для отдельных сценариев использования, сгруппированных по инструментам IDE. Например, настройки для Project View, Startup, Terminal и т. п.
Теперь браузеры могут автоматически перезагружать страницы после сохранения изменений в соответствующих файлах HTML, CSS и JavaScript.
Теперь нужное окно можно просто перетащить в удобное место — как внутри основного окна IDE, так и в отдельное окно.
Теперь можно свободно переходить между различными открытыми разделами Preferences/Settings, используя стрелки в правом верхнем углу окна.
В новой версии на вкладке предварительного просмотра появляются файлы, открытые во время отладки. Вкладка одна, поэтому файлы появляются по одному. Чтобы включить эту функцию, поставьте флажок Enable preview tab в разделе Preferences/Settings | Editor | General | Editor Tabs | Opening Policy.
Мы добавили во встроенный терминал две новых возможности: выбор формы курсора и поддержку функции Use Option as Meta key. Оба параметра находятся в разделе Preferences/ Settings | Tools | Terminal.
Теперь перед коммитом можно выполнить ряд новых действий: Run Tests, Analyze code и Cleanup. Ход выполнения и результаты всех предкоммитных проверок отображаются в поле Commit без появления дополнительных модальных окон.
Теперь безопасность коммитов можно обеспечить, подписав их ключом GPG. Включить эту функцию можно в меню Preferences / Settings | Version Control | Git. If it’s your first time using a GPG key, you’ll need to configure it. Если вы хотите использовать настроенный ранее ключ GPG, выберите его из выпадающего списка.
В новой версии RubyMine различия между исходными и измененными файлами по умолчанию отображаются прямо в редакторе, независимо от того, как вы вызываете действие Show Diff. Если вы предпочитаете отслеживать изменения в отдельном окне, можно перетащить нужный файл из редактора. IDE запомнит это и в будущем будет открывать diff в отдельном окне.
Мы добавили значки статусов заданий Space на вкладку Log окна Git, чтобы можно было быстро отследить ход выполнения задания, посмотрев в список коммитов. При нажатии на значок откроется всплывающее окно с автоматической информацией о задании.
Чтобы включить или отключить показ информации о статусе, нажмите на значок глаза на вкладке Log и выберите Show Columns | Space Automation.
Теперь можно держать коллег в курсе происходящего, упомянув их в ревью Space прямо из RubyMine. Введите @ и имя во временной шкале или в комментариях к коду, а затем выберите нужного человека в списке.
Теперь можно просматривать ветки, относящиеся к выбранному ревью кода. На вкладке Details отображается список веток, в которые были сделаны коммиты при работе над текущей задачей.
При работе с Code With Me может потребоваться объяснить проблему или показать другим членам команды разные части проекта. Это можно сделать в режиме Force Others to Follow You. В этом случае те, кто наблюдает за вашей работой, увидят предложения автодополнения кода, которые вы используете.
require()
Знаете ли вы, что IDE умеет добавлять отсутствующие операторы импорта при вводе ES6-символов? Теперь то же самое возможно для модулей CommonJS: при автодополнении кода будет вставлен оператор require
.
Вам больше не нужно тратить время на рефакторинг отдельных значений и функций useState
в React hooks — RubyMine переименует их самостоятельно. Чтобы использовать эту функцию, установите курсор на значение состояния и вызовите рефакторинг Rename сочетанием клавиш Shift+F6 или через контекстное меню Refactor | Rename.
.js
. classnames
и clsx
. Благодаря этому можно эффективнее использовать имена классов CSS. className
в компонентах Tailwind CSS.