4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【VSCode】Rubyでコードジャンプする方法

Last updated at Posted at 2024-06-30

✅ はじめに

本投稿では、VSCodeでRubyのコードジャンプを提供してくれる拡張機能の導入方法を解説してます。

対象者

  • VSCodeでRubyの開発を行っていて、JSなどと同様にコードジャンプしたい方
  • 拡張機能をインストールしたものの、期待通りにコードジャンプが動作しなかった方

✅ 拡張機能

Rubyのコードジャンプを提供してくれる拡張機能として、ダウンロード数の多い以下の2つを導入して、軽く動作確認しました。

  • Ruby Solargraph
  • Ruby LSP

現時点の感想

現時点でコードジャンプ用途であれば、Ruby Solargraphのほうが使いやすいと感じた。

拡張機能 現時点の感想
Ruby Solargraph クラス、メソッドいずれもジャンプできた。コードジャンプ用途ならこちらのほうが使いやすいと感じた。
Ruby LSP コードジャンプできる箇所が限られており、やや不便と感じた。(インスタンス化したクラスのメソッド呼び出しから、定義元クラスの先頭にしかジャンプできなかった)

コードジャンプの動作を確認していたところ、コメントに日本語が含まれている場合に、それまで動作していたコードジャンプが動作しなくなることがあった。



✅ Ruby Solargraph

solargraph.png

インストール

VSCodeの拡張機能マーケットプレイスからインストールします。

準備

拡張機能をインストールしただけではコードジャンプが動作せず、solargraphをインストールする必要があります。

$ gem install solargraph

起動

VSCodeでRubyのプロジェクトを開くと、cmd + クリックでコードジャンプができるようになってます。

solargraphをインストールした直後は、プロジェクトの開き直しが必要でした。

solargraph-2.png

感想

クラス、メソッドいずれもジャンプできた。コードジャンプ用途ならこちらのほうが使いやすいと感じた。



✅ Ruby LSP

ruby-lsp-5.png

インストール

VSCodeの拡張機能マーケットプレイスからインストールします。

Ruby LSP単体でもインストールできますが、Rubyをインストールすると合わせてRuby LSPもインストールされます。

ruby-lsp-1.png

準備

拡張機能をインストールしただけではコードジャンプが動作せず、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-3.png

Ruby LSPが起動してない場合は、コマンドパレット(cmd + shift + P)からRuby LSP: Startコマンドを実行します。

ruby-lsp-2.png

Ruby LSPが起動してると、cmd + クリックでコードジャンプができるようになります。

ruby-lsp-4.png

感想

コードジャンプできる箇所が限られており、やや不便と感じた。(インスタンス化したクラスのメソッド呼び出しから、定義元クラスの先頭にしかジャンプできなかった)

コードジャンプの動作を確認していたところ、コメントに日本語が含まれている場合に、それまで動作していたコードジャンプが動作しなくなることがあった。

4
6
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
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?