Ruby on Railsなどの開発を行う際、エディタは「VS Code(Visual Studio Code)」を使っているという方が大半ではないでしょうか。
そして、Rubyのコーディングを支援する拡張機能として、長らく「Solargraph」が定番でしたが、現在はShopifyが開発を主導する 「Ruby LSP」 がデファクトスタンダードとなりつつあります。
「導入してみたけど、定義ジャンプが動かない」
「エラーが出てしまって設定方法がわからない」
もしこのような悩みを持っているなら、この記事が役に立つはずです。
この記事では、VS CodeにおけるRuby LSPの導入手順から、開発効率を劇的に向上させる機能の使い方、そしてよくあるトラブルの解決策まで、最新の情報を踏まえて徹底解説します。
![]() 執筆者:マヒロ |
|
- OS:Windows 11 / macOS Sequoia
- IDE:Visual Studio / VS Code / IntelliJ IDEA
- その他:Chrome DevTools / 各言語最新安定版
※本メディアでは、上記環境にてコードの動作と情報の正確性を検証済みです。
Ruby LSPとは?VS Codeでの開発が変わる次世代ツール
Ruby LSPは、Shopifyが開発・メンテナンスを行っているRuby用のLanguage Server Protocol(LSP)実装です。
従来のツールに比べて、動作が高速で安定しており、特にVS Codeとの親和性が高いことが特徴です。
Shopify主導の強力なLanguage Server
Ruby LSPは、大規模なRubyアプリケーション(Shopify自体が巨大なRailsアプリで動いています)での開発に耐えうるように設計されています。
そのため、インデックス作成の速度やメモリ効率が最適化されており、プロジェクトが大きくなっても動作が重くなりにくいという強みがあります。
また、Rubyの構文解析には「Prism」という新しいパーサーが採用されており、最新のRuby記法にも素早く対応しています。
これにより、エディタ上でのシンタックスハイライトやエラー検知が非常に正確に行われます。
Solargraphとの違いと乗り換えるメリット
これまでの定番であったSolargraphと比較して、Ruby LSPには以下のようなメリットがあります。
- セットアップが簡単: 複雑な設定なしで、Gemを追加するだけで動作することが多い。
- 動作が軽い: 大規模プロジェクトでも補完やジャンプが高速。
- Formatterの統合: RuboCopなどのフォーマッター機能がスムーズに統合されている。
- 公式サポート: コミュニティだけでなく、企業(Shopify)がバックアップしている安心感がある。
これから新しく環境を作るのであれば、迷わずRuby LSPを選ぶことをおすすめします。
Ruby LSPの導入手順と初期設定
それでは、実際にVS CodeにRuby LSPを導入していきましょう。
手順は非常にシンプルですが、プロジェクト側の設定(Gemfile)が必要な点に注意してください。
拡張機能のインストール
まずはVS Codeの拡張機能マーケットプレイスから、公式の拡張機能をインストールします。
- VS Codeの左サイドバーにある「拡張機能」アイコンをクリックします。
- 検索バーに
Ruby LSPと入力します。 - Shopifyが提供している「Ruby LSP」を選択し、「インストール」をクリックします。
これだけで、VS Code側の準備は完了です。
プロジェクトごとのセットアップ(Gemfile)
Ruby LSPを正しく動作させるためには、開発するプロジェクト(Railsアプリなど)の Gemfile に、専用のGemを追加する必要があります。
これを忘れると、「Ruby LSP not working」などのエラーになり、機能が有効になりません。
Gemfile
group :development do
# Ruby LSP本体
gem 'ruby-lsp', require: false
end
group :development do ... end のブロック内に記述することで、本番環境にはインストールされないようにします。
require: false を指定しているのは、アプリケーションの起動時にこのGemを読み込む必要がないためです(エディタが裏側で使用するだけだからです)。
記述したら、ターミナルで以下のコマンドを実行してインストールを反映させます。
bundle install
推奨されるVS Code設定(settings.json)
基本的にはデフォルトのままでも動作しますが、より快適に使うために settings.json(ユーザー設定またはワークスペース設定)を調整することをおすすめします。
.vscode/settings.json
{
"[ruby]": {
"editor.defaultFormatter": "Shopify.ruby-lsp",
"editor.formatOnSave": true,
"editor.tabSize": 2
},
"rubyLsp.formatter": "rubocop"
}
コードの解説
"[ruby]": Rubyファイルを開いた時だけの限定設定です。"editor.defaultFormatter": "Shopify.ruby-lsp": フォーマッター(コード整形ツール)としてRuby LSPを指定します。"editor.formatOnSave": true: ファイル保存時に自動でフォーマット(RuboCopによる修正など)を実行します。"rubyLsp.formatter": "rubocop": Ruby LSP内部で使用するフォーマッターとしてRuboCopを指定しています(StandardRBなども指定可能)。
開発効率を爆上げする主な機能と使い方
Ruby LSPを導入すると、普段のコーディングがどのように変わるのでしょうか。
主要な機能を3つ紹介します。これらを使いこなせば、開発スピードは格段に上がります。
定義へ移動(コードジャンプ)とホバー情報
メソッドやクラス名の上で F12 キー(または Ctrl + クリック)を押すと、その定義元へ瞬時にジャンプできます。
また、マウスカーソルを乗せる(ホバーする)だけで、メソッドの定義場所やコメント(RDoc/YARD)が表示されます。
「このメソッド、どこで定義されてるんだっけ?」とgrep検索して探す時間はもう必要ありません。
別ファイルにあるクラスでも、Gemの中にあるライブラリのコードでも、スムーズに移動可能です。
RuboCop連携による自動フォーマット
Ruby LSPは、プロジェクト内のRuboCop設定(.rubocop.yml)を読み込み、リアルタイムでコードの警告を表示してくれます。
さらに、前述の設定で「保存時の自動フォーマット」を有効にしておけば、ファイルを保存するたびにインデントのズレや不要なスペースを自動修正してくれます。
コードレビューで「インデントがズレてます」といった些細な指摘をする・されるストレスから解放されるでしょう。
RSpecなどのテスト実行支援
Ruby LSPには「Code Lens」という機能があり、テストファイル(_spec.rb)を開くと、テストコードの上に「Run」や「Debug」といったボタンが表示されます。
これをクリックするだけで、特定のテストケースだけをVS Code上で実行し、結果を確認することができます。
ターミナルにコマンドを打ち込む手間が省け、デバッグ作業が非常に捗ります。
Ruby LSPが動かない!困った時のトラブルシューティング
「インストールしたのに動かない」「補完が出ない」というトラブルはよく起こります。
ここでは、よくある原因とその対処法をまとめました。
「Ruby LSP not working」の主な原因と対策
最も多い原因は、「Gemがインストールされていない」 または 「Rubyのバージョンが認識されていない」 ことです。
bundle install を忘れていないか確認
Gemfileに追加しただけでは動きません。必ずインストールコマンドを実行してください。
VS Codeを再起動する
Gemを入れた後、一度VS Codeを再起動(またはウィンドウの再読み込み)しないと認識されないことがあります。
バージョン管理ツール(rbenv/asdf)の設定確認
rbenvやasdfを使ってRubyのバージョンを管理している場合、VS Codeが「どのRubyを使えばいいか」を見失っている可能性があります。
VS Codeの設定で、バージョン管理ツールとの連携を確認しましょう。
拡張機能の設定画面で Ruby Lsp: Ruby Version Manager という項目を探し、使用しているツール(rbenv, asdf, chruby など)が正しく選択されているか確認してください。
通常は auto で認識されますが、うまくいかない場合は明示的に指定します。
どうしても動かない時のログ確認方法
何が原因かわからない場合は、Ruby LSPが出力しているログを確認するのが解決への近道です。
- VS Codeの下部パネルにある「出力(Output)」タブを開きます。
- プルダウンメニューから「Ruby LSP」を選択します。
ここに Error や Exception といった文字が出ていれば、それが不具合の原因です。
よくあるのが、「RuboCopのバージョンが古すぎて対応していない」や「依存するGemのコンパイルに失敗している」といったケースです。
エラーメッセージをコピーして検索すれば、解決策が見つかるはずです。
Rubyのスキルを活かして年収を上げる方法
以上、VS CodeでRuby LSPを導入する方法について解説してきました。
Rubyエンジニアの年収や単価は高い傾向にあるため、転職によって数十万円の年収アップはザラで、100万円以上年収が上がることも珍しくありません。
なお、転職によって年収を上げたい場合は、エンジニア専門の転職エージェントサービスを利用するのが最適です。
転職エージェントも副業エージェントも、登録・利用は完全無料なので、どんな求人や副業案件があるのか気になる方は、気軽に利用してみるとよいでしょう。
| 年収アップにこだわりたい方 (平均アップ額138万円の実績) | テックゴー |
| 未経験・経験者問わず幅広く探したい方 | ユニゾンキャリア |
| 業界に精通した担当者に相談したい方 | キッカケエージェント |
| ゲーム業界への転職を志望する方 | ファミキャリ |
| エンジニア未経験からキャリアを築く方 | イーチキャリア |



