Отладка Rails в Visual Studio Code
Несмотря на всю мою нелюбовь к Visual Studio Code, у него есть одна неоспоримо классная фича — расширяемый плагинами дебаггер, который можно использовать практически с любым языком, какой вы можете себе только представить.
Сейчас я расскажу и покажу, как использовать эту фичу при отладке rails-приложений.
Первым делом нам нужно поставить плагин для vscode, который обеспечивает поддержку рубей:
Затем на уровне системы нужно поставить пару гемов:
(sudo) gem install ruby-debug-ide
(sudo) gem install debase
Если при установке debase на macOS возникают ошибки, попробуйте следующую команду:
(sudo) gem install debase -- --with-cflags="-Wno-error=implicit-function-declaration"
После этого в vscode нужно открыть “Debug -> Open Configurations” и заменить содержимое на вот это:
Этот файл описывает, что именно нужно запускать при старте дебага.
После чего запускаем наше приложение в дебаг-режиме нажатием F5 или путем “Debug -> Start Debugging” и выставляем брейкпоинты при помощи F9 или нажатием на пустое место слева от номера строки:
Когда выполнение кода дойдет до нужного места, слева в панели “Variables” будут видны значения :
А теперь о недостатках:
- По какой-то неведомой причине дебаг нельзя запустить не в дебаг-консоли, а в терминале (ни во внешнем, ни во внутреннем)
- До сих пор нормально не поддерживается eval (работает через раз и только один раз, после чего запустить какой-то код в текущем контексте не удаётся)
- Очень не хватает поддержки параметра “envFile”, который есть в дебаггере для Node