Отладчик Vim Ruby

До недавнего времени я писал код Ruby в Netbeans. Вещь классная и очень удобная, но я давно присматриваюсь к Vim, слишком мощный текстовый редактор, даже мечтать о нем не мог.

Я несколько раз пытался на него переключиться, но как только встречал какой-то глюк в коде, закрывал Vim, открывал Netbeans, ставил точку останова и начинал разбираться, что не так.

В общем, к отладчику я привык.

После некоторых усилий мне пришла в голову идея написать Ruby-отладчик для Vim. Я открыл код рельсов.

vim, NERDTree.vim и начал изучать VimScript. Так что спасибо tpope и Марти Гренфеллу за уроки (хотя они, вероятно, никогда этого не прочитают и не узнают об этом).

Вы можете увидеть плагин сейчас на GitHub .

Что может плагин 1. Отладка любых сценариев Ruby с помощью Ruby-отладка-IDE гем 2. Устанавливайте/удаляйте точки останова, смотрите переменные, перемещайтесь по коду.

3. Введите команды вручную.

Например, :RdbCommand p Post.all выведет все записи модели Post. Что вам нужно Для корректной работы плагина необходимо:

  1. Версия Vim > = 7.0, скомпилированная с опциями +знаки И +клиент-сервер .

    Вы можете проверить это следующим образом:

    :echo has("signs") && has("clientserver") && v:version >= 700

    Результат должен быть = 1

  2. Установлен драгоценный камень Ruby-Debug-IDE.
  3. Если вы используете Linux, вам необходимо установить его.

    лсоф

Монтаж
  1. Клонировать репо:

    git clone git://github.com/astashov/vim-ruby-debugger.git

  2. Из того что мы получили нам нужна только папка вим , остальное нужно только для развития.

    Скопируйте содержимое vim в ~/.

    vim/ (или в vimfiles, если вы используете Windows).

    В результате у вас должно получиться 3 файла:

    • плагин/ruby_debugger.vim — сам плагин
    • doc/ruby_debugger — документация
    • bin/ruby_debugger.rb — это промежуточный сценарий Ruby между Vim и гемом Ruby-debug-ide. Все общение между ними происходит через него.

  3. Затем запустите Vim и запустите

    :helptags ~/.

    vim/doc

    для установки документации плагина.

    Вы можете прочитать его по команде

    :help ruby-debugger

Установка завершена! Применение
  1. Запустите Вим.

    Если вы используете gvim, он автоматически запустит сервер Vim, а если вы используете vim, вам нужно запустить его с опцией имя_сервера: vim --servername VIM

  2. Возьмем, к примеру, какой-нибудь железнодорожный проект.
  3. Запускаем сервер с отладчиком командой

    :Rdebugger

    (по умолчанию он запускает веб-блок скрипта/сервера, если вам нужно отладить другой скрипт, вы можете запустить:

    :Rdebugger foo.rb

  4. Установите где-нибудь точку останова (по умолчанию с помощью команды б , чаще всего это \b).

  5. Откройте страницу с точкой останова в браузере.

    Vim должен автоматически перейти на строку с сработавшей точкой останова.

  6. Потом смотрим на переменные, путешествуем по коду и вообще веселимся! :)
Команды По умолчанию (конечно, их можно переопределить в вашем .

vimrc) используются следующие сокращения:

  • б — установить точку останова
  • v — открыть/закрыть окно с переменными.

    Переменные можно открывать/закрывать либо командой «o» в обычном режиме, либо двойным щелчком левой кнопкой мыши.

  • m — открыть/закрыть окно с точками останова.

    Вы можете перейти к выбранной точке останова с помощью команды «o» в обычном режиме или двойным щелчком левой кнопкой мыши, а также удалить точку останова с помощью команды «d» в обычном режиме.

  • н - перешагнуть
  • с - шагнуть в
  • в – продолжить (продолжить)
Вы можете прочитать, как их переопределить в :help Ruby-Debugger-Details Если вы столкнулись с ошибкой или придумали новую интересную функцию Тогда буду крайне признателен за отчет в GitHub Issues. Вы также можете просто написать на anton /sbk/astashov.net, но лучше отчёт в разделе «Проблемы».

:) Плагин ведет лог практически всех своих действий в файле ~/.

vim/tmp/ruby_debugger_log, поэтому содержимое этого файла желательно прикрепить вместе с ошибкой.

Я протестировал функциональность на Linux и Windows. В Linux плагин работает лучше; на винде я пока не разобрался как запускать процессы в фоне, поэтому отвлекают мерцающие окошки с сервером и промежуточным рубиновым скриптом.

В MacOs не проверял, потому что у меня его нет. И напоследок скриншот плагина:

Отладчик Vim Ruby

Теги: #vim #ruby #ruby onrails #debugger #debugging #ruby

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.