VSCodeのRuby用ExtentionとしてはVSCode Ruby を使っていたんですが、Ruby LSPへの乗り換えを勧められるので乗り換えました。
VSCode Ruby - Visual Studio Marketplace
Ruby LSP
Ruby LSP - Visual Studio Marketplace
VSCodeのextention画面からRuby LSPインストールします。
Multi-root workspaces
Ruby LSPをインストールしてもそのままでは動きません。
なんか”Lockfileがプロジェクト直下に見当たらないよ”的なエラーメッセージが出ます。
VSCodeのMulti-root workspacesを有効にしろと言ってきます。
(なお、1 Workspaceに1 root = 1 projectの場合にはそのまま動くと思います)
workspacesをMulti-rootにするには、workspace直下の.code-workspaceを編集します。
{ "folders": [ { "path": "." } ], }
上記のようにrootが直下1つになっているのを
{ "folders": [ { "path": "project_a" }, { "path": "project_b" }, ], }
のようにします。
気を付ける点
Ruby 3.0以降でないと使えないです。
Ruby 2.7以前のプロジェクトを触らないときは効いてくれません・・
また当然ですがプロジェクトの.ruby-versionで指定されたバージョンと同じバージョンのRubyがローカルに必要です。
dockerで開発しているといなかったりするんですよねえ。