24
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VSCodeでrbenv環境のrubyのデバッグ、コードコンプリートができない

Posted at

たぶん次に環境を作ろうとした時には忘れてると思うのでメモ。

問題

rbenv環境のrubyのプログラムをvscodeで書きたい。デバッグ、コードコンプリートしたい。  
VSCode ruby拡張の拡張のページを見ながら設定したが、デバッグ、コードコンプリートができない。

デバッグしようとすると

Debugger terminal error: Process failed: spawn rdebug-ide ENOENT

とエラーになる。

原因

ググって調べてみると、どうもこのエクステンションはユーザシェルのpathを考慮してくれないらしい。つまり、ユーザのrbenv環境を参照せずに/usr/binや/usr/local/binからデバッグツール(rdebug-ide)、コードコンプリートツール(rct-complete)を起動するっぽい。

参考:Getting error "Debugger terminal error: Process failed: spawn rdebug-ide ENOENT" on Ubuntu 16.04. Any help?

対応方法

方法は以下の2つ。

  • /usr/binや/usr/local/binにrdebug-ide、rct-completeのシンボリックリンクを貼る。
  • rdebug-ide、rct-completeの場所をVSCodeの設定ファイルに書く。

ここではVSCodeの設定ファイルに書く方法を説明する。

前提

  • osはmac os 10.12.4。(linuxやwindowsはパス等を適宜変更すること。)
  • vscodeインストール済み(確認したバージョンは 1.12.1)
  • vscodeにruby拡張をインストール済み(確認したバージョンは 0.12.1)
  • rbenvでruby環境が/Users/<ユーザ名>/.rbenv/以下にインストール済み。
  • 以下のgemをインストール済み
    • ruby-debug-ide -v 0.6.0
    • debase -v 0.2.2.beta10
    • rcodetools

ユーザ設定のsettings.jsonを以下の通り修正する。

{
  ...
+ "ruby.rctComplete.commandPath": "/Users/<ユーザ名>/.rbenv/shims/rct-complete"
  ...
}

launch.jsonを以下の通り修正する。

{
  ...
  "configurations": [
    {
      ...
+     "pathToRDebugIDE": "/Users/<ユーザ名>/.rbenv/shims/rdebug-ide",
      ...
    }
}
24
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?