Rubyist必見!公式LSP「Ruby LSP」で開発効率を最大化する完全ガイド
Rubyはその柔軟性と高い生産性から、Webアプリケーション開発、特にRuby on Railsフレームワークと共に、長年にわたり多くの開発者に愛されてきました。しかし、動的型付け言語であるRubyは、モダンな開発環境が提供する高度なエディタ支援(静的解析、コード補完、リファクタリングなど)の恩恵を最大限に受けるのが難しいという側面も持っていました。
この課題を解決すべく、これまでにもSolargraph
のような優れたツールが存在し、Rubyコミュニティに多大な貢献をしてきました。そして2022年、Eコマースの巨人であるShopifyが中心となって開発する「公式」のLanguage Server、Ruby LSPが発表され、Ruby開発のエコシステムに新たな風を吹き込んでいます。
Ruby LSPは、パフォーマンス、信頼性、そして拡張性を重視して設計されており、特にRuby on Railsアプリケーションの開発体験を劇的に向上させることを目指しています。この記事では、Ruby LSPがなぜ「ゲームチェンジャー」となり得るのか、その基本概念から導入、主要機能、応用テクニック、そして将来性まで、約5000語にわたって徹底的に解説します。あなたのRuby開発を次のレベルへと引き上げる旅に、さあ出発しましょう。
第1章: LSPとRuby LSPの基本を理解する
まず、Ruby LSPがどのような技術に基づいているのか、そしてなぜ今「公式」のLSPが重要なのかを理解することから始めます。
1-1. LSP(Language Server Protocol)とは何か?
LSP(Language Server Protocol)は、Microsoftによって提唱され、現在はオープンスタンダードとなっているプロトコルです。その目的は、プログラミング言語のインテリジェントな機能(コード補完、定義ジャンプ、エラー診断など)を、エディタやIDEから分離することにあります。
LSP登場前の課題:
かつては、各エディタ(VS Code, Vim, Sublime Textなど)が、サポートしたい各言語(Ruby, Python, JavaScriptなど)のために、それぞれ独自にインテリジェンス機能を実装する必要がありました。これは、M x N
(M個のエディタ × N個の言語)の問題として知られ、開発リソースの分散と、エディタ間での機能差を生み出す原因となっていました。
LSPによる解決策:
LSPは、この問題を解決するために「クライアント」と「サーバー」という2つのコンポーネントに役割を分割します。
- クライアント(Client): エディタやIDE(VS Code, Neovimなど)側。UIの表示やユーザー操作の受付を担当します。
- サーバー(Server): 言語サーバー(Ruby LSP, TypeScript Language Serverなど)側。コードの解析、補完候補の生成、エラーの検出など、言語固有のロジックを担当します。
クライアントとサーバーは、JSON-RPCを介して通信します。ユーザーがエディタでコードを書くと、クライアントは「この位置の補完候補をください」といったリクエストをサーバーに送ります。サーバーはコードを解析し、結果をクライアントに返却。クライアントはそれを受け取って画面に表示します。
このアーキテクチャにより、言語のサポートは言語サーバーを一つ開発するだけで済み、各エディタはLSPクライアントを実装するだけで、多くの言語の恩恵を受けられるようになります。これは開発リソースの集約と、開発者にとっての一貫した体験の提供に繋がります。
1-2. なぜ今、公式の「Ruby LSP」なのか?
Rubyにも以前からSolargraph
という非常に高機能なLSP実装が存在します。Solargraphはドキュメンテーション(YARD)や型情報(RBS)を活用した高度な補完機能を提供し、多くのRubyistの開発を支えてきました。
では、なぜShopifyは新たにRuby LSPを開発したのでしょうか。そこにはいくつかの理由があります。
-
標準化とコミュニティの集約:
「公式」を謳うことで、Rubyコミュニティの開発リソースや知見を一つのプロジェクトに集約しやすくなります。これにより、より安定し、広く使われる標準的なツールを育成することができます。Ruby本体やRailsコアチームとの連携もスムーズになり、エコシステム全体としての発展が期待できます。 -
パフォーマンスへの強いこだわり:
Shopifyは世界最大級のRuby on Railsアプリケーションを運用しています。数十万ファイル、数百万行のコードベースで快適に動作することは、彼らにとって必須要件でした。Ruby LSPは、大規模プロジェクトでも高速に動作することを最優先事項の一つとして設計されています。その鍵となるのが、後述するYARPパーサーの活用です。 -
Railsとの深い親和性:
Ruby LSPは、当初からRuby on Railsアプリケーションでの利用を強く意識しています。Railsの「魔法(Magic)」と呼ばれる規約ベースの動的な挙動を正しく理解し、Active Record
の関連付けやroutes
、i18n
の翻訳キーに至るまで、的確なサポートを提供することを目指しています。 -
拡張可能なアーキテクチャ:
Ruby LSPは、コア機能をシンプルに保ちつつ、Add-onシステムを通じて機能を拡張できる設計になっています。これにより、Rails、RSpec、RuboCopといった特定のフレームワークやツールに特化した機能を、必要な人だけが追加できるようになっています。
1-3. Ruby LSPの設計思想と特徴
Ruby LSPの強力さを支える設計思想を見ていきましょう。
-
パフォーマンス: YARPの活用
Ruby LSPの高速性の秘密は、YARP (Yet Another Ruby Parser) にあります。YARPは、Shopifyが開発し、Ruby 3.3から公式に導入された新しいRubyパーサーです。C言語で書かれており、非常に高速かつエラー耐性があります。Ruby LSPはこのYARPを利用してコードを解析するため、従来のパーサーに比べて圧倒的に速くインデックスを作成し、リアルタイムのフィードバックを提供できます。 -
信頼性: 型情報に依存しないアプローチ
Rubyの静的型付けはRBSによって進められていますが、まだすべてのGemやアプリケーションでRBSが整備されているわけではありません。Ruby LSPは、まずは型情報なしでも正確に動作することを基本方針としています。静的解析とヒューリスティックを組み合わせ、実際のコードの構造から可能な限り多くの情報を引き出します。これにより、RBSファイルがないプロジェクトでも、すぐに多くの機能の恩恵を受けることができます。将来的にはRBSとの連携も強化される予定ですが、あくまでオプションとして提供される見込みです。 -
拡張性: Add-onシステム
前述の通り、Add-onシステムはRuby LSPの大きな特徴です。コアLSPは純粋なRubyの機能に集中し、Rails、Minitest、RSpecなどの特定のユースケースはAdd-onとして分離されています。これにより、本体は軽量に保たれ、ユーザーは自分のプロジェクトに必要な機能だけを選択して導入できます。 -
Railsとの親和性:
ruby-lsp-rails
という公式Add-onを導入することで、Rails開発体験は飛躍的に向上します。モデル間の関連(has_many
,belongs_to
)を辿った定義ジャンプ、コントローラーのアクションからビューファイルへのジャンプ、routes
の補完など、Rails開発者が「欲しかった」機能が満載です。
第2章: Ruby LSPの導入とセットアップ
それでは、実際にRuby LSPをあなたの開発環境に導入してみましょう。ここでは最も一般的なVS Codeでのセットアップを中心に解説します。
2-1. 前提条件
- Ruby: Ruby 2.7以上が推奨されます(YARPの恩恵を最大限に受けるにはRuby 3.3以上が望ましい)。
- Editor: LSPをサポートするエディタ。
- Visual Studio Code (VS Code)
- Neovim
- Sublime Text (LSP packageが必要)
- etc.
2-2. VS Codeでの導入手順
VS CodeはRuby LSPの主要なターゲットエディタであり、導入は非常に簡単です。
ステップ1: VS Code拡張機能のインストール
まず、VS Codeの拡張機能マーケットプレイスで「Ruby LSP」を検索し、Shopifyが公開している公式拡張機能をインストールします。
ext install Shopify.ruby-lsp
この拡張機能には、Ruby LSP本体と、デバッグ機能を提供するvscode-rdbg
が含まれており、Ruby開発に必要な環境が一度に整います。
ステップ2: Gemのプロジェクトへの追加
次に、Ruby LSPをプロジェクトのGemfile
に追加します。グローバルにインストールするのではなく、プロジェクトごとにGemfile
でバージョンを管理することが強く推奨されます。これにより、プロジェクトメンバー全員が同じバージョンのLSPを使用することが保証されます。
ターミナルでプロジェクトのルートディレクトリに移動し、以下のコマンドを実行します。
bash
bundle add ruby-lsp --group=development
このコマンドは、Gemfile
の:development
グループにruby-lsp
を追加し、bundle install
を実行します。
“`ruby
Gemfile
group :development do
gem “ruby-lsp”
end
“`
ステップ3: VS Codeの設定
多くの場合、特別な設定は不要です。Ruby LSP拡張機能は、bundle exec ruby-lsp
コマンドを自動的に検出し、実行しようとします。
もし、保存時の自動フォーマットを有効にしたい場合は、VS Codeのsettings.json
に以下の設定を追加します。
.vscode/settings.json
json
{
"editor.formatOnSave": true,
"[ruby]": {
"editor.defaultFormatter": "Shopify.ruby-lsp"
}
}
ステップ4: 動作確認
VS Codeを再起動(またはウィンドウをリロード)し、Rubyファイルを開いてみましょう。エディタの右下に「Ruby LSP: Starting」といったステータスメッセージが表示され、しばらくすると準備が完了します。
メソッド名の上にカーソルを合わせるとドキュメントが表示されたり、.
を入力すると補完候補が表示されたりすれば、正常に動作しています。
2-3. Neovimでの導入手順
Neovimユーザーはnvim-lspconfig
プラグインを利用してRuby LSPをセットアップするのが一般的です。
ステップ1: Gemのインストール
VS Codeと同様に、bundle add ruby-lsp --group=development
でプロジェクトに追加します。
ステップ2: nvim-lspconfig
の設定
init.lua
などの設定ファイルに、lspconfig
を使ってRuby LSPをセットアップするコードを追加します。
lua
-- init.lua
require'lspconfig'.ruby_ls.setup{}
より詳細な設定(例えば、コールバックでキーマッピングを設定するなど)も可能です。
“`lua
local on_attach = function(client, bufnr)
— キーマッピングの設定例
local opts = { noremap=true, silent=true }
vim.api.nvim_buf_set_keymap(bufnr, ‘n’, ‘gD’, ‘
vim.api.nvim_buf_set_keymap(bufnr, ‘n’, ‘gd’, ‘
vim.api.nvim_buf_set_keymap(bufnr, ‘n’, ‘K’, ‘
— …その他のキーマッピング
end
require’lspconfig’.ruby_ls.setup{
on_attach = on_attach,
}
“`
これでNeovimでもRuby LSPの強力な機能を利用できるようになります。
2-4. Ruby on Railsプロジェクトへの導入
Railsプロジェクトへの導入は、前述の手順に加えて、Railsに特化した機能を提供するAdd-onを導入することが推奨されます。
bash
bundle add ruby-lsp-rails --group=development
ruby-lsp
とruby-lsp-rails
の両方をGemfile
に追加するだけです。Ruby LSPはruby-lsp-rails
の存在を自動的に検出し、Rails関連の機能を有効化します。
導入後、プロジェクトのルートに.ruby-lsp/
というディレクトリが作成されることがあります。ここには、Railsアプリケーションの情報をキャッシュしたファイルなどが格納され、LSPのパフォーマンスを向上させるために使用されます。このディレクトリは.gitignore
に追加しておくと良いでしょう。
第3章: Ruby LSPの主要機能詳解
Ruby LSPを導入すると、具体的にどのような恩恵を受けられるのでしょうか。ここでは、開発効率を飛躍させる主要な機能を、具体的なコード例と共に詳しく見ていきます。
3-1. コード補完(Completion)
Ruby LSPの補完機能は非常に高速かつ的確です。
-
基本的な補完: 定数、メソッド、ローカル変数、インスタンス変数などを文脈に応じて補完します。
“`ruby
class User
attr_reader :namedef initialize(name)
@name = name
end
enduser = User.new(“Alice”)
user.na # <- ここでname
が補完される
* **Railsの補完:** `ruby-lsp-rails` Add-onにより、Rails特有の補完が強力にサポートされます。
ruby
* `Active Record`のモデル属性や関連メソッド
* `routes`のパスヘルパー (`users_path`など)
* `i18n`の翻訳キーapp/models/user.rb
class User < ApplicationRecord
has_many :posts
endコンソールやコントローラーで
user = User.first
user.po # <- ここでposts
が補完される
“`
3-2. 定義ジャンプ(Go to Definition)
F12
キー(VS Codeのデフォルト)またはCmd/Ctrl + Click
で、カーソル下のシンボル(メソッド、クラス、モジュールなど)が定義されている場所に瞬時にジャンプできます。これはコードリーディングの効率を劇的に改善します。
-
メソッド定義へのジャンプ:
``ruby
set_post` にジャンプ
class PostController < ApplicationController
before_action :set_post # <- ここでprivate
def set_post # <- ジャンプ先
@post = Post.find(params[:id])
end
end
``
belongs_to :user
* **Railsの関連定義へのジャンプ:**の
:userから
Userモデルのクラス定義へジャンプできます。
render ‘shared/form’
* **ビューファイルへのジャンプ:**から
app/views/shared/_form.html.erbへジャンプできます。
Bundler`で管理されているGemの内部実装も簡単に追うことができます。
* **Gemのソースコードへのジャンプ:**
3-3. ホバー情報(Hover)
シンボルにマウスカーソルを合わせると、そのシンボルに関する情報がポップアップで表示されます。
-
ドキュメントの表示: メソッドやクラスにYARDoc形式で書かれたコメントがあれば、それが整形されて表示されます。
“`ruby
# Fetches a user by their ID.
# @param id [Integer] the user ID
# @return [User, nil] the found user or nil
def find_user(id)
# …
endfind_user(123) # <- ここにカーソルを合わせると上記のコメントが表示される
“`
* シグネチャの表示: メソッドの引数や返り値に関する情報が表示されます。
3-4. シンボル検索(Workspace Symbols)
Cmd/Ctrl + T
(VS Code) で、プロジェクト全体のクラス、モジュール、メソッドをインクリメンタルに検索できます。巨大なプロジェクトでも、目的のコードに素早くアクセスできます。
3-5. フォーマット(Formatting)
Ruby LSPは、RuboCopまたはSyntax Treeをフォーマッタとして利用できます。デフォルトはRuboCopです。
- 自動フォーマット:
settings.json
でeditor.formatOnSave
をtrue
に設定しておけば、ファイルを保存するたびにコードが自動で整形されます。これにより、コーディングスタイルに関する些細な議論や手動修正から解放され、チーム内でのコードの一貫性が保たれます。 - フォーマッタの選択: 設定で
rubyLsp.formatter
を"rubocop"
または"syntax_tree"
に指定することで、使用するフォーマッタを切り替えられます。
3-6. リンティングと診断(Linting & Diagnostics)
コードの問題点をリアルタイムで検出し、エディタ上に表示します。
- RuboCop連携: デフォルトでRuboCopと連携し、コーディング規約違反や潜在的なバグをエディタ上で波線で示してくれます。問題の箇所にカーソルを合わせれば、なぜそれが問題なのか(どのCopに違反しているか)が表示されます。
- 構文エラー: Rubyの構文エラーもリアルタイムで検出します。
3-7. コードアクション(Code Actions)
問題が検出された箇所で電球アイコン(またはCmd/Ctrl + .
)をクリックすると、修正候補(Quick Fix)が提示されます。
- RuboCopの自動修正: 多くのRuboCop違反は、ワンクリックで自動的に修正できます。これは
rubocop -A
コマンドをエディタ上で行うようなものです。 require
の自動追加: 未定義の定数を使っている場合に、その定数を定義しているファイルをrequire
する候補を提示してくれることがあります。- リファクタリング支援: 将来的には、より高度なリファクタリング機能(メソッドの抽出、名前の変更など)が追加されていく予定です。
3-8. インレイヒント(Inlay Hints)
コードの間に補助的な情報を表示し、可読性を高める機能です。デバッグ時に特に役立ちます。例えば、debug.gem
を使ったデバッグセッション中に、各行の変数の値を表示することができます。
3-9. セマンティックハイライティング(Semantic Highlighting)
通常のシンタックスハイライト(キーワード、文字列、数値などを色分け)に加え、コードの意味を解析してより詳細な色分けを行います。例えば、ローカル変数、インスタンス変数、メソッド呼び出し、クラス名などをそれぞれ異なる色で表示し、コードの構造を視覚的に理解しやすくします。
第4章: Ruby LSPを使いこなすための応用テクニック
基本機能をマスターしたら、次はRuby LSPのポテンシャルを最大限に引き出すための応用テクニックに進みましょう。
4-1. Ruby LSP Add-onシステム
Ruby LSPの最も強力な特徴の一つがAdd-onシステムです。これにより、コア機能を軽量に保ちながら、エコシステムの力を借りて機能を拡張できます。
Add-onの仕組み:
Add-onは、ruby-lsp
本体とは別のGemとして提供されます。Gemfile
にAdd-onのGemを追加するだけで、Ruby LSPは起動時にそれらを自動的に検出し、機能を追加します。
主要な公式Add-on:
-
ruby-lsp-rails
:
Rails開発者にとっては必須のAdd-onです。この記事で紹介したRails特有の機能(モデルの関連、ルーティング、ビューのジャンプなど)は、すべてこのAdd-onによって提供されます。
bash
bundle add ruby-lsp-rails --group=development -
ruby-lsp-rspec
:
RSpecを使ったテスト駆動開発を強力にサポートします。it
ブロック内からテスト対象のコード(subject
など)へジャンプlet
やshared_examples
の定義ジャンプ- RSpec関連のスニペットや補完
bash
bundle add ruby-lsp-rspec --group=development
-
ruby-lsp-rubocop
:
RuboCopとの連携をさらに強化します。フォーマットや診断のパフォーマンスを向上させたり、より詳細な設定を可能にします。
これらのAdd-onを組み合わせることで、自分の開発スタイルやプロジェクトの特性に合わせた、最適な開発環境を構築できます。
4-2. デバッグ機能との連携
VS CodeのRuby LSP拡張機能には、vscode-rdbg
というデバッガフロントエンドが含まれています。これはRuby 3.1から標準添付されたdebug.gem
と連携し、最新のデバッグ体験を提供します。
セットアップ:
1. Gemfile
にdebug
gemを追加します。
bash
bundle add debug --group=development
2. VS Codeの「実行とデバッグ」ビュー(Cmd/Ctrl + Shift + D
)を開きます。
3. 「launch.json
ファイルを作成します」をクリックし、テンプレートから「Ruby LSP」を選択します。
すると、.vscode/launch.json
が以下のような内容で生成されます。
json
{
"version": "0.2.0",
"configurations": [
{
"type": "rdbg",
"name": "Debug current file with rdbg",
"request": "launch",
"script": "${file}",
"args": [],
"askParameters": true
},
{
"type": "rdbg",
"name": "Attach with rdbg",
"request": "attach"
}
// Railsサーバーをデバッグするための設定など
]
}
デバッグの開始:
* ブレークポイント: コードの行番号の左側をクリックしてブレークポイントを設定します。
* 実行: デバッグしたいファイルを開いた状態で、「Debug current file with rdbg」を実行(F5
キー)します。
* ステップ実行: プログラムがブレークポイントで停止したら、ステップオーバー、ステップイン、ステップアウトなどの操作でコードを一行ずつ実行し、変数の状態をリアルタイムで確認できます。
pry
やbyebug
を使ったデバッグも強力ですが、GUIベースの統合されたデバッグ環境は、特に複雑な処理を追う際に非常に効率的です。
4-3. 設定のカスタマイズ
VS Codeのsettings.json
で、Ruby LSPの挙動を細かくカスタマイズできます。
.vscode/settings.json
“`json
{
“rubyLsp.enabledFeatures”: {
// 特定の機能を無効化したい場合
“inlayHint”: false,
“codeLens”: false // メソッドの上部に表示される参照数などを非表示
},
// 使用するフォーマッタを “syntax_tree” に変更
“rubyLsp.formatter”: “syntax_tree”,
// 実験的な機能を有効にする
“rubyLsp.experimentalFeaturesEnabled”: true,
// YARDocのMarkdownレンダリングを有効にする
“rubyLsp.yardMarkdownContent”: true
}
“`
enabledFeatures
では、補完(completion
)、定義ジャンプ(definition
)、フォーマット(formatting
)など、機能ごとに有効/無効を切り替えられます。パフォーマンス上の理由や、他の拡張機能と競合する場合に特定の機能をオフにするといった調整が可能です。
4-4. パフォーマンスチューニングとトラブルシューティング
大規模プロジェクトでの注意点:
Ruby LSPは大規模プロジェクトでも高速に動作するように設計されていますが、プロジェクトの初回起動時には、コードベース全体のインデックスを作成するため、少し時間がかかることがあります。インデックスは.ruby-lsp/
ディレクトリにキャッシュされるため、2回目以降の起動は高速です。
トラブルシューティング:
もしRuby LSPがうまく動作しない場合は、以下の点を確認してみてください。
- LSPの出力ログを確認: VS Codeの「出力」パネルを開き、ドロップダウンから「Ruby LSP」を選択します。ここにエラーメッセージや詳細なログが出力されているはずです。
- Gemが正しくインストールされているか確認:
bundle exec ruby-lsp
をターミナルで直接実行し、エラーが出ないか確認します。 - VS Codeの再起動: 時には、エディタを完全に再起動することで問題が解決することがあります。
- 設定の確認:
.vscode/settings.json
の設定が正しいか、特にRubyのパスなどがカスタム設定されている場合は見直してください。
第5章: Ruby LSPの未来とコミュニティ
Ruby LSPはまだ若いプロジェクトですが、活発に開発が進められています。最後に、その将来性と他のツールとの関係について見ていきましょう。
5-1. ロードマップと今後の展望
Ruby LSPの開発チームは、以下のような機能強化をロードマップに掲げています。
- 型情報(RBS)との連携強化: 現在は型情報に依存しないアプローチを取っていますが、将来的にはRBSファイルが存在する場合に、それを活用してさらに正確な補完や型チェックを行う機能が追加される予定です。これにより、動的解析の柔軟性と静的解析の堅牢性を両立した、ハイブリッドな開発体験が実現されるでしょう。
- 高度なリファクタリング機能: 現在は基本的なコードアクションが中心ですが、今後はプロジェクト全体に影響するような「名前の変更(Rename)」や「メソッドの抽出(Extract Method)」といった高度なリファクタリング機能の実装が期待されています。
- さらなるパフォーマンス向上: YARPの進化と共に、さらなる解析速度の向上が見込まれます。
5-2. 他のツールとの比較(vs Solargraph)
Solargraph
は、長年にわたりRubyのLSPとしてコミュニティを支えてきた素晴らしいツールです。Ruby LSPと比較した場合、それぞれに設計思想の違いがあります。
-
Solargraph:
- 思想: YARDocとRBSを積極的に活用し、ドキュメントベースで静的な型推論を行うことに重点を置いています。
- 強み: 型情報が整備されたプロジェクトでは、非常に強力な補完と型チェック機能を提供します。
- 考慮点: パフォーマンス面では、大規模プロジェクトでRuby LSPに及ばない場合があります。
-
Ruby LSP:
- 思想: まずは型情報なしで、コードの静的解析から得られる情報に基づいて高速かつ信頼性の高い機能を提供することに重点を置いています。Railsとの親和性が非常に高いです。
- 強み: パフォーマンスと、Railsプロジェクトでの「すぐに使える」手軽さ。
- 考慮点: 現時点では、RBSをフル活用した高度な型推論はSolargraphに軍配が上がります。
どちらを選ぶべきか?
現時点での推奨は、まずはRuby LSPを試してみることです。特にRailsプロジェクトを開発している場合、その恩恵は絶大です。パフォーマンスとセットアップの手軽さは、日々の開発体験に直接影響します。今後の公式としての発展性を考えても、Ruby LSPはRuby開発の新たなスタンダードとなる可能性を秘めています。
5-3. コミュニティへの貢献
Ruby LSPはオープンソースプロジェクトです。開発はGitHub上で行われており、誰でも貢献することができます。
- バグ報告や機能リクエスト: 使っていて気づいた問題や、「こんな機能が欲しい」というアイデアがあれば、GitHubのIssuesで報告・提案してみましょう。
- プルリクエスト: ドキュメントの修正から、バグ修正、新機能の実装まで、コードで貢献することも歓迎されています。コントリビューションガイドを読んで、ぜひ挑戦してみてください。
公式LSPの発展に貢献することは、Rubyエコシステム全体をより良くすることに繋がります。
まとめ
Ruby LSPは、単なる新しいツールではありません。それは、Shopifyという強力な推進力を得て、Ruby開発の生産性と楽しさを根本から引き上げることを目指す、コミュニティ全体の取り組みです。
この記事で解説したように、Ruby LSPは以下の点で、あなたの開発体験を革新します。
- 圧倒的なパフォーマンス: YARPの力を借りた高速な解析で、ストレスのないリアルタイムフィードバックを実現。
- 簡単なセットアップ:
bundle add
するだけで、すぐに強力な機能の恩恵を受けられる。 - Rails開発の最適化:
ruby-lsp-rails
Add-onにより、Railsの「魔法」を解き明かし、開発を加速。 - モダンな開発機能: 補完、定義ジャンプ、デバッグ、フォーマットといった必須機能を高次元で提供。
- 高い拡張性と将来性: Add-onシステムと活発な開発コミュニティが、未来の進化を保証。
もしあなたがまだRuby LSPを試していないなら、今が絶好の機会です。あなたのGemfile
にgem "ruby-lsp"
の一行を加え、エディタを再起動してみてください。そこには、これまで以上に快適で、創造的なRuby開発の世界が広がっているはずです。公式LSPの力を借りて、開発効率を最大化し、コーディングをさらに楽しみましょう。