土屋つかさの技術ブログは今か無しか土屋つかさの技術ブログは今か無しか読者になる土屋つかさの技術ブログは今か無しか土屋つかさが主にプログラミングについて語るブログです。VSCodeでRubyコードのデバッグができる環境を構築する(2017年2月現在)2017-02-04VSCodeでRubyコードのデバッグができる環境を構築する(2017年2月現在)rubyツイッターのTLを眺めていたら、mirichiさんがVSCodeでrubyを動かしているのを見て「俺もやりたい!」となって試しにデバッグ出来るところまでやってみました。大変だったので試行錯誤の過程を記録しておきます。Code、通称VSCodeはオープンソースで開発されているソースコードエディタです。wikipedia)https://ja.wikipedia.org/wiki/Visual_Studio_Code【注意!】下記記事を読んでいる事が前提ですインストールに辺りこちらのサイトの2016年04月19日の記事を主に参考にさせて頂きました。ありがとうございます。Developers.IO)http://dev.classmethod.jp/tool/visual-studio-code-ruby-debug/以下、この記事にそって環境構築を進め、上手く行かなかった箇所について自分が行った対策を書いて行きます。VSCodeインストールこちらのサイトからインストールします。ちなみに自身の環境はWindows10(32bit)です。下記で使用しているシェルは全てコマンドプロンプトです。ruby"と打ってみたのですが、何故か先に進みませんでした。・なので拡張機能アイコンをクリックし、rubyで検索して該当する機能をインストールします。・順序が変ですがここでrubyのインストールをしました。-v"でバージョンを確認したら2.0.0だったので、アップデートすることにしたのです。・インストールにはrubyinstallerのパッケージを使います。x64)をインストールしました(現在は2.xでテストしているようなので、後で2.3に移行する予定です)。[i386-mingw32]"になってるのを確認しました。bundlerのインストール・VSCode上でrubyをデバッグするためには"ruby-debug-ide"と"debase"というライブラリをgemからインストールする必要があります。前者はrubyのIDE用デバッグインターフェイス、後者はruby2.0用rubyデバッガーのようです(よく知らない)。ruby-debug-idehttps://rubygems.org/gems/ruby-debug-ide/versions/0.6.0debasehttps://rubygems.org/gems/debase/versions/0.2.1・ここではこの二つのライブラリをbundlerを使ってインストールします。・bundlerはプロジェクト内で使用するgemを管理する仕組みです。使用するgem(必要ならバージョンも)をGemFileというファイルで指定することで、どの環境でも同じgemが読み込まれることを目的としています。橋本商会)http://shokai.org/blog/archives/7262・bundlerはgem経由でインストールできます。bundler"と入力します。・作業をするフォルダにカレントディレクトリを移動して、bundlerの初期化コマンドを実行します。C:/data/tsukasa/Gemfile・するとGemFile/GemFile.lockというファイルが生成されるので、GemFileの方を以下に書き換えます。"debase"・最後2行がインストールしたいライブラリです。install"でGemFileに記述したgemのインストールが実行されるのですが、ここでエラーが出力してしまいました。bundling.・このエラーを回避するにはDevKitをインストールする必要があります。DevKitのインストール(DevKitインストールまわりについては下記の記事を参考にしました。ありがとうございます。)・さっきのエラー出力を見てみます。tools.・"ruby-debug-ide"にはネイティブ、つまりC言語のコードが含まれているため、windowsで使う場合はコードをコンパイルするビルドツールが必要なのですが、それが見つからないと言われています。・rubyinstaller.orgがDevKitと呼ばれるWindows用のビルドツールを提供しているのでこれをインストールします。only):"となっている"DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe"をダウンロードし、展開します。init"と入力するとdevkitが初期化されます。DevKit.・同フォルダ内にあるconfig.ymlを確認します。PCに入っているRubyを自動的に書き加えてくれているようです。install"でインストールします。'C:/Ruby22/lib/ruby/site_ruby/devkit.rb'・警告がでてますが1.8系/1.9系なので気にしなくても大丈夫でしょう。デバッグ用ライブラリのインストール再挑戦(成功!!)・DevKitがインストールできたので改めてライブラリのインストールを行います。installed.・今度は成功しました。・いよいよVSCodeを起動してデバッグしてみます。初回はlaunch.jsonというファイルを更新する必要があります。(この項は下記サイトを参考にさせて頂きました。ありがとうございます。)・launch.jsonは、VSCode上からコードを実行する際の処理を記述したファイル(なんだと思う)です。プロジェクトフォルダ単位で用意されます。・メニューの「ファイル>フォルダを開く」で空のフォルダ(ここでは"C:\data\tsukasa")を開きます。・デバッグアイコンをクリックすると、ペインに設定アイコンが表示される(フォルダを開いていない状態では表示されない)が出ます。・これをクリックして"Ruby"を選択します。・すると、launch.jsonが自動生成されます。・このlaunch.jsonを以下のように書き換えます。実はこれでは上手く行かなかったのですが、それについては後述します。・新規ファイルを作成し、main.rbの名前で保存します。b)・コードにブレークポイントを設定し、デバッグのペインから実行ボタンを押せばデバッグが始まる......筈でしたが、ここでエラーが出力されます。ENOENT・bundlerプロセスとの通信に失敗しているようなのですが、これを直す方法が良くわかりません。true"を削除し、VSCodeを再起動したら上手く動きました。continued・VSCode上でRubyがデバッグできるという時点で割と感動なのですが、安定した挙動が望めるのかどうか、そしてなによりDXRubyアプリのデバッグが出来るのかどうかが重要です。次回はその辺を試してみます。・別のフォルダを作ってコードを動かそうとしたら拡張機能が無効になっていたのと、表示が分かりにくいので書いておきます。・拡張機能で「有効」となっていると、これは「現在は無効」の意味のようです。・クリックして、「常に行う」を選択。・表示される「再度読み込む」を選択してエディタを再起動すると、拡張機能がアクティブになります。・このように「無効にする」となっている状態が有効になっています(分かりにくいな!)。下にあるrubocopが無効状態なのですが、ハイライトされていないのが辛うじてわかるかなと思います。10サイト情報プリバシーポリシーはてなブログをはじめよう!t_tutiyaさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。