Плагин языка Ruby для OpenIDE, который обеспечивает поддержку разработки, запуска и отладки Ruby-приложений.Возможности языка предоставляются через языковой сервер ruby-lsp.
Редактирование кода
- Автодополнение классов, модулей, констант и методов, переход к определению, поиск символов (Go to Class), hover и диагностика
- Code lens; при наличии в Gemfile подключаются аддоны ruby-lsp-rails и ruby-lsp-rspec
- Подсветка синтаксиса:
.rb, .rake, .gemspec, .ru, Gemfile, Rakefile, шаблоны ERB (.erb) и скрипты без расширения с Ruby-shebang (например, bin/rails) - Форматирование и RuboCop; на странице Ruby → Language Server выбираются форматтер и линтер, включаются и отключаются отдельные возможности сервера (изменения применяются после перезапуска языкового сервера)
Запуск и отладка
- Конфигурация Ruby: скрипт, аргументы, аргументы интерпретатора, рабочая папка, переменные окружения; запуск из контекстного меню и значком ▶ у файлов с shebang или
if __FILE__ == $0 - Отладка через rdbg (DAP): точки останова, пошаговое выполнение, просмотр переменных и вычисление выражений
- При наличии Gemfile команды автоматически запускаются через
bundle exec
Тесты
- Конфигурация Ruby Test для RSpec и Minitest с результатами во встроенном тест-раннере IDE
- Значки ▶ у тестовых классов Minitest,
def test_* и test "…": запуск и отладка отдельного теста или класса - Запуск и отладка файла целиком из контекстного меню; отдельный пример RSpec — через поле Line number конфигурации Ruby Test
- В Rails-проектах Minitest запускается через
bin/rails test
Rails и Rake
- Конфигурация Rails: server, runner или произвольная команда, выбор
RAILS_ENV - Конфигурация Rake и действие Tools → Run Rake Task… со списком задач проекта
- Code lens ruby-lsp-rails: запуск миграций и переход от контроллера к view
- Папки
spec/ и test/ размечаются как тестовые, в Rails-проекте log/ и tmp/ исключаются
Инструменты
- Reek — проверка на лету в редакторе (включается в Ruby → Linters)
- Brakeman и bundler-audit — проверка безопасности из меню Tools с выводом в консоль
- Мастер File → New → Project → Ruby: простой проект (с Gemfile и
bundle install) или Rails-приложение с выбором базы данных, JS и CSS - Шаблоны файлов: Ruby-файл, класс, модуль, RSpec spec, Minitest test и spec
Окружение Ruby
- Интерпретатор определяется автоматически через login shell с учётом
.ruby-version и .tool-versions; поддерживаются rbenv, rvm, chruby, asdf и mise - Путь к
ruby можно задать вручную в Settings → Languages & Frameworks → Ruby - Для проектов на Ruby старше 3.0 языковой сервер запускается на отдельном, более новом Ruby
- Если нет
Gemfile.lock, плагин предлагает выполнить bundle install
Требования
- Ruby 3.0+ для языкового сервера
- Гем
ruby-lsp (глобально или в Gemfile проекта) - Гем
debug для отладки - Плагин LSP4IJ (в OpenIDE Pro встроен)
- Типы выводятся так же, как в ruby-lsp: без аннотаций Sorbet/RBS методы предлагаются для констант,
self и переменных с именем класса (calculator = Calculator.new), но не для произвольных имён (calc.).
Вопросы и предложения — в нашем Telegram-чате.