なんじゃくにっき

プログラミングの話題中心。

VSCodeのextention Ruby LSP

VSCodeRuby用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で開発しているといなかったりするんですよねえ。