✅ はじめに
本投稿では、VSCodeでRubyのコードジャンプを提供してくれる拡張機能の導入方法を解説してます。
対象者
- VSCodeでRubyの開発を行っていて、JSなどと同様にコードジャンプしたい方
- 拡張機能をインストールしたものの、期待通りにコードジャンプが動作しなかった方
✅ 拡張機能
Rubyのコードジャンプを提供してくれる拡張機能として、ダウンロード数の多い以下の2つを導入して、軽く動作確認しました。
- Ruby Solargraph
- Ruby LSP
現時点の感想
現時点でコードジャンプ用途であれば、Ruby Solargraph
のほうが使いやすいと感じた。
拡張機能 | 現時点の感想 |
---|---|
Ruby Solargraph | クラス、メソッドいずれもジャンプできた。コードジャンプ用途ならこちらのほうが使いやすいと感じた。 |
Ruby LSP | コードジャンプできる箇所が限られており、やや不便と感じた。(インスタンス化したクラスのメソッド呼び出しから、定義元クラスの先頭にしかジャンプできなかった) コードジャンプの動作を確認していたところ、コメントに日本語が含まれている場合に、それまで動作していたコードジャンプが動作しなくなることがあった。 |
✅ Ruby Solargraph
インストール
VSCodeの拡張機能マーケットプレイスからインストールします。
準備
拡張機能をインストールしただけではコードジャンプが動作せず、solargraph
をインストールする必要があります。
$ gem install solargraph
起動
VSCodeでRubyのプロジェクトを開くと、cmd + クリック
でコードジャンプができるようになってます。
※ solargraph
をインストールした直後は、プロジェクトの開き直しが必要でした。
感想
クラス、メソッドいずれもジャンプできた。コードジャンプ用途ならこちらのほうが使いやすいと感じた。
✅ Ruby LSP
インストール
VSCodeの拡張機能マーケットプレイスからインストールします。
Ruby LSP
単体でもインストールできますが、Ruby
をインストールすると合わせてRuby LSP
もインストールされます。
準備
拡張機能をインストールしただけではコードジャンプが動作せず、ruby-lsp
をインストールする必要があります。
VSCodeで開いてるディレクトリにlockファイル
が存在してない場合、lockファイル
を作成します。
# Gemfileを作成する
$ bundle init
# Gemfile.lockを作成する
$ bundle install
VSCodeで開いてるディレクトリにlockファイル
が存在してる場合は、.ruby-lsp
ディレクトリが作成されるので、その配下でbundle install
します。
# .ruby-lspディレクトリに移動
$ cd .ruby-lsp
# インストール
$ bundle install
起動
Ruby LSP
の起動状態はVSCode下部で確認できます。
Ruby LSP
が起動してない場合は、コマンドパレット(cmd + shift + P)
からRuby LSP: Start
コマンドを実行します。
Ruby LSP
が起動してると、cmd + クリック
でコードジャンプができるようになります。
感想
コードジャンプできる箇所が限られており、やや不便と感じた。(インスタンス化したクラスのメソッド呼び出しから、定義元クラスの先頭にしかジャンプできなかった)
コードジャンプの動作を確認していたところ、コメントに日本語が含まれている場合に、それまで動作していたコードジャンプが動作しなくなることがあった。