読者です 読者をやめる 読者になる 読者になる

1.21 jigowatts

Great Scott!

Visual Studio Code でRubyのコードをDebugしてみる

Mac Ruby Visual Studio Code

概要

Rubyを書くときはVisual Studio Code(以下VSCode)を使ってます。仕事とは関係ないので書きたいときに書いてる感じのゆるさなのですが、さすがにデバッグはできた方がいいと思い始めてきたのでVSCodeでデバッグできるようにしてみました。

環境

OS X EI Capitan バージョン 10.11.6
Visual Studio Code バージョン 1.6.1
rbenv 1.0.0
ruby 2.3.1

Ruby拡張機能のインストール

ビューバーから拡張機能アイコンを選択し、"ruby"で検索をかけてRuby拡張機能をインストールします。VSCodeでRubyを書こうとした時、最初に入れましたがデバッグもサポートしてるんですね。
f:id:sh_yoshida:20161018063945p:plain

gemのインストール

Rubyのバージョンは2.3.1を使用しているため、以下二つのgemをインストールする必要があるみたい。

If you are using Ruby v2.x
gem install ruby-debug-ide -v 0.4.32 or higher versions
gem install debase -v 0.2.1 or higher versions

https://github.com/rubyide/vscode-ruby#install-ruby-dependencies

グローバル(システム側?)にインストールしてみます。

$ gem install ruby-debug-ide
$ gem install debase
$ gem list

*** LOCAL GEMS ***
# ==省略==
debase (0.2.1)
ruby-debug-ide (0.6.0)
# ==省略==

Rubyのコード

デバッグ用のコードを適当に用意しておきます。
main.rb

include Math

radius = 10
result = radius * radius * Math::PI

puts result

構成ファイルの用意

ビューバーからデバッグアイコンを選択し、歯車のアイコンを押下します。先ほどRuby拡張機能をインストールしたので環境の選択に"Ruby"が出てますね。これを選びます。
f:id:sh_yoshida:20161018070725p:plain

launch.jsonが作成されます。簡単なRubyのコードを実行するだけなので、余計な設定(RSpecやCucumberのサンプル構成)は削除してしまいました。
.vscode/launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug Local File",
            "type": "Ruby",
            "request": "launch",
            "cwd": "${workspaceRoot}",
            "program": "${workspaceRoot}/main.rb"
        }
    ]
}

デバッグの実行

コードの適当な位置にブレークポイントを張って、再生ボタンを押下しデバッグ実行します。
f:id:sh_yoshida:20161018070737p:plain

できたぁぁ。:+.゜ヽ(*′ω`)ノ゙。:+.゜