はじめに
この記事はLinkbal Advent Calendar 2018の21日目の記事です。Rails初心者のタンです。
僕はリンクバルという現在の会社に入る前に、PHPエンジニアでした。
Railsの開発環境を立ち上げたあとに、開発の準備のため最初にやったことはデバッグツールを設定することです。
RailsのデバッガーといえばPry
は盛んなものかと思いますが、PHPエンジニアだった僕はまだ慣れていないので、PHPのXdebug
みたいなツールがほしかったです。
インターネットで調べた上で、ruby-debug-ide
というツールを見つかって、設定してみたら、Xdebugみたいなリモートデバッグ機能が使えました。
今回はこのツールの設定方法について紹介させていただきます。
Rubyプラグインをインストールする
まず、VSCodeでRuby言語を開発するための拡張をインストールする
この拡張の詳細にruby-debug-ide
デバッグのツールの設定方法を書いてあります。
デバッグGemをインストールする
RubyバージョンによってGemが違います
Ruby 1.8.xの場合
gem install ruby-debug-ide
gem install ruby-debug-base
Ruby 1.9.xの場合
gem install ruby-debug-ide
gem install ruby-debug-base19x
Ruby 2.xの場合
gem install ruby-debug-ide
gem install debase
VSCodeの設定
VSCodeのデバッグタブを開いて、左側のサイドバーに「Add Configuration」を選択して、もし何もデバッグ設定がなければ選択ポップアップを表示されます。ここにRubyを選択してください。「Ruby」選択肢がなければ、どんな選択肢を選択しても大丈夫です。
launch.json
を開いたら、configurationsの中に以下の設定を入れてください。
{
"name": "Debug Rails",
"type": "Ruby",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/bin/rails",
"pathToRDebugIDE": "/home/trantan/.rbenv/versions/2.5.1/bin/rdebug-ide",
"args": [
"server"
]
}
- name: デバッガー名
- type: プログラム言語(Ruby)
- request:
launch
というのはVSCodeから実行する - cwd: 作業のディレクトリ
- program: デバッグを開始する時に実行されるRubyスクリプト(Railsサーバーのデバッグなので、ここにはRailsコマンドです)
- pathToRDebugIDE: オプションの設定です。(
ruby-debug-ide
gemのフルパスです) - args: 「program」実行するスクリプトの引数です。Railsサーバーをローンチするコマンドは
rails server
なので、server
は引数です。もしホストや環境などというコマンドのオプションを追加する場合、ここに追加してください。
↑こちらは基本の設定です。
詳しい設定はこちらに参考してください。
デバッグしてみる
-
まず、デバッグのbreakpointを設定する
ファイルの改行数の左側にクリックすると、breakpointを設定できます。 -
次、VSCodeのデバッグタブで左側のサイドバーに上の「Debug Rails」を選択して、「スタート」ボタンを押すと、デバッガーを開始します。
ブラウザーでRailsのWebアプリを開いたら、デバッグできます。
左側の「Variables」部分に変数の値をチェックできます。
おわりに
いかがでしょうか?
こんな簡単設定でVSCodeでRailsのデバッグは便利になりますね。
それではまた!