Поддержка новых возможностей языка Ruby и RBS, новые инспекции и быстрые исправления, улучшения в интерфейсе и многое другое.
RubyMine 2022.1 поддерживает новые возможности Ruby и RBS, появившиеся в Ruby 3.1, в том числе ограниченные универсальные типы, коллекции RBS, передачу аргументов анонимных блоков, псевдонимы универсальных типов и др.
Мы добавили несколько новых инспекций для проверки использования переменных типов в RBS. Они сообщают об отсутствии сигнатур типа, использовании недопустимого аргумента типа, конфликтах вариантности переменных типа, ошибках вариантности аргумента типа и других проблемах.
Новая версия RubyMine отображает переопределения при просмотре Quick Documentation (Ctrl+Q). Если вызвать Quick Documentation для метода, будет показано соответствующее переопределение.
Теперь RubyMine показывает встроенные подсказки для кода Ruby на основе сигнатур типа из соответствующих файлов RBS. Нажав на подсказку, вы перейдете к соответствующей сигнатуре типа.
RubyMine сообщает о выведенных типах в коде Ruby, которые не соответствуют ожидаемому типу из RBS. Начиная с версии 2022.1, в этих случаях можно быстро перейти к соответствующему RBS-файлу.
RubyMine понимает тег @overload
и предлагает все возможные переопределения при отображении информации о параметре. Начиная с этой версии, автодополнение для тега @overload
подставляет имя описываемого метода.
Мы переработали интерфейс диалога New Project, чтобы упростить создание проектов как для новичков, так и для опытных пользователей.
generate
в Rails 7В новой версии добавлена поддержка новых параметров создания проектов для фреймворка JavaScript, появившихся в Rails 7. Теперь их можно выбрать при создании проекта через диалог New Project.
Мы заменили журнал Event Log новым окном Notifications. Теперь получать уведомления от IDE будет удобнее, и вы не пропустите ничего важного. Уведомления в этом окне делятся на две категории: Suggestions и Timeline.
Мы убрали из диалога Open File or Project дерево, поэтому IDE больше не вычисляет при открытии все промежуточные узлы директорий. Это повышает общую производительность IDE, предотвращая долгие зависания из-за вычисления тупиковых путей.
Чтобы в окне Debugger было больше места, по умолчанию названия вкладок теперь скрыты.
Мы переработали диалог Structural Search and Replace, добавив в него список всех шаблонов, чтобы между ними было проще переходить.
Теперь для модификаторов видимости (public
, protected
, private
) и кода внутри них можно задать отступ: в меню Preferences/Settings | Editor | Code Style | Ruby | Tabs and Indents поставьте флажок Indent visibility modifiers.
В режиме LightEdit можно редактировать файлы, не создавая и не загружая проект, а теперь можно и переформатировать код. Для этого нажмите Ctrl+Alt+L или откройте Code | Reformat Code в главном меню.
При работе с Markdown-файлами в редакторе вы увидите новую иконку на полях рядом с командами оболочки. Нажав на нее, можно выполнить команду во встроенном терминале RubyMine. Это удобно при выполнении инструкций, например, в файлах README, где часто приводятся команды оболочки.
С помощью нового действия Copy code snippet можно скопировать содержимое блока кода в буфер обмена.
На плавающей панели инструментов, которая появляется при выделении текста в Markdown-файлах, появились новые функции. Теперь там можно быстро выбрать стиль заголовка и создать список.
Теперь от спецификаций можно легко перейти к использованным в них общим контекстам и примерам. Для этого нажмите Ctrl и щелкните на выражении, которое добавляет общий ресурс: include_context
, include_examples
, it_behaves_like
или it_should_behave_like
.
Мы значительно переработали интерфейс Docker в окне Services. Изменения коснулись настроек контейнеров, образов, сетей и томов.
Добавлена поддержка Docker Registry HTTP API V2, который используется с Docker 1.6 и более поздними версиями. Он позволяет создавать простые или защищенные паролем реестры Docker V2, а также выполнять привычные действия: просматривать, отправлять и извлекать образы.
Чтобы анализировать внесенные изменения было проще, мы улучшили работу действия Annotate with Git Blame. При наведении курсора на аннотацию IDE подсвечивает различия между строками в редакторе, а при нажатии на аннотацию открывает вкладку Log в окне Git.
Новый интерфейс окна Git File History теперь не зависит от процесса индексации: данные отображаются, даже если индексация лога выключена.
Благодаря встроенной поддержке React все основные функции IDE уже должны были работать в проектах Next.js. Мы добавили поддержку страниц — одной из наиболее важных вещей, специфичных для Next.js. Теперь IDE умеет разрешать пути, указанные в свойстве href
компонентов Link
, а также в теге form
и других тегах. Автодополнение, навигация и рефакторинги тоже работают.
Мы добавили интеграцию с Volta, менеджером JavaScript-инструментов. RubyMine автоматически распознает Yarn и npm, установленные с помощью Volta.
extend
добавляет методы к отдельным классам и не должно иметь доступ к переменным типа. Теперь RubyMine выдает ошибку при попытке использовать переменные типа с extend
: RUBY-29099. corepack enable
, поскольку эта функция по умолчанию отключена. webpack.config.js
.