ガイド2026年4月5日

Claude CodeのLSP完全ガイド【2026年最新】:有効化・プラグイン設定・言語別セットアップまで徹底解説

室谷東吾
監修者室谷東吾(@0x__tom

株式会社MYUUU 代表取締役 / 日本最大級AIコミュニティ「.AI」創設者(累計2,000名超)/ セプテーニ・ホールディングス(電通グループ)と資本業務提携 / 著書「お金を使わず、AIを働かせる『Dify』活用」(ぱる出版、3刷)/ Xフォロワー約2万人

テキトー教師
監修者テキトー教師(@tekitoo_T_cher

.AI 認定講師 / 教育×AIの専門家 / 累計300名以上にAI活用を指導 / 「テキトーに学ぶ」がモットーの実践派講師 / Xアカウント

Claude CodeのLSP完全ガイド【2026年最新】:有効化・プラグイン設定・言語別セットアップまで徹底解説

Claude CodeのLSP(Language Server Protocol)完全ガイド【2026年最新】:有効化・プラグイン設定・言語別セットアップまで徹底解説

室谷室谷
今回はClaude CodeのLSP、Language Server Protocolサポートの話をしましょう。.AI(ドットエーアイ)コミュニティでも「コードナビゲーションが遅すぎる」って声が結構あって、これを使うと劇的に改善されるんですよね。
テキトー教師テキトー教師
ですよね。受講生さんでも「Claude Codeで大きいコードベースを扱うと、定義を探すのに何十秒もかかる」って相談が多くて。

LSPを有効にすると、その問題が一気に解決するんですよね。
室谷室谷
MYUUUでも大きめのTypeScriptプロジェクトを扱っているんですけど、LSP有効化の前後で体感が全然違います。テキスト検索だと30〜60秒かかっていた「この関数どこで定義されてる?」が、50ミリ秒で返ってくるようになって・・・これはかなりインパクトがありました。
テキトー教師テキトー教師
900倍くらいの速度差ですよね(笑)。単純に速いだけじゃなくて、LSPはコードの意味を理解して探してくれるので、精度も全然違うんですよ。

テキスト検索だとコメントや文字列リテラルの中にある同名の文字列もヒットしてしまうので、精度という意味でも段違いです。
室谷室谷
そこが本質なんですよね。「テキストとして一致しているか」じゃなくて「コードとして同じシンボルかどうか」で判断してくれる。

これが型安全なリファクタリングや大規模なコードベースの解析には決定的な差になります。

Claude CodeのLSPとは?Language Server Protocolの仕組み

Claude CodeとLanguage Server Protocolの通信アーキテクチャ図(Anthropic公式ドキュメントより)

テキトー教師テキトー教師
まずLSP自体の話から整理しましょう。Language Server Protocol(LSP)はMicrosoftが2016年に設計した、エディタとプログラミング言語の「橋渡し役」の仕組みです。
室谷室谷
VS CodeとかNeovimとかで「定義へ移動」とか「参照を探す」ができるのは全部このLSPのおかげなんですよね。エディタ側がLSPというプロトコルで言語サーバーに問い合わせをして、言語サーバーが答えを返すという構造です。
テキトー教師テキトー教師
整理するとこういう構造ですね。

LSPの構造

エディタ/ツール ←── LSP プロトコル ──→ 言語サーバー
(Claude Code)                    (pyright, gopls, rust-analyzer等)
  • エディタ側: リクエストを送る(「このシンボルの定義はどこ?」「このファイルのエラーは?」)
  • 言語サーバー側: 答えを返す(「src/utils.ts の42行目です」「型エラーがあります」)
  • プロトコルが標準化されているので、どんなエディタでもどんな言語でも同じ仕組みが使える

室谷室谷
LSP以前は、各エディタが各言語ごとに独自実装を持っていたんです。エディタが10個、言語が10個あれば、100個の実装が必要だった。

LSPができてからは「言語サーバーさえ作れば全エディタで使える」になったんですよね。
テキトー教師テキトー教師
その言語サーバーが今やClaude Codeでも使えるようになった。PyrightやGoPlsといった、VS Codeでも使われているのと同じ言語サーバーがClaude Codeに連携できるんです。
室谷室谷
これってエンジニアにとってはかなり大きくて、自分のプロジェクトで使っている言語サーバーをそのままClaude Codeに持ち込める。設定を一から作り直す必要がないんですよね。

Claude CodeにLSPが追加されたのはいつ?

テキトー教師テキトー教師
時系列を整理すると、Claude CodeのLSPサポートはバージョン2.0.74で正式にchangelogに追加されました。2025年12月のことです。
室谷室谷
ただ、正式追加される前から ENABLE_LSP_TOOL=1 という環境変数で手動有効化することはできていたんですよね。コミュニティのGitHubイシューで先に発見されて、じわじわ広まっていったというか・・・
テキトー教師テキトー教師
そういう「公式ドキュメントにはまだ載っていないけど使える」機能、Claude Codeには結構あるんですよね(笑)。受講生さんからの「これどこに書いてあるんですか?」という質問が一番多い種類の情報です。
室谷室谷
2026年現在は、プラグインシステム経由でLSPプラグインをインストールして使うのが正式な方法になっています。公式マーケットプレイスにもLSPプラグインが並んでいますし、Piebald-AIが作ったコミュニティマーケットプレイス()にも30言語以上のプラグインがあります。
テキトー教師テキトー教師
Stars 378、Fork 46という数字を見ると、コミュニティにかなり受け入れられているのがわかりますよね。公式マーケットプレイスにまだないレアな言語(Ada、Julia、Elixir等)もカバーされていて、実用的です。

LSPで何ができる?Claude Codeが使えるLSPオペレーション

室谷室谷
具体的にLSPを有効にすると何ができるのかを整理しましょう。Claude Codeが使えるLSPオペレーションは以下のとおりです。

オペレーション説明
goToDefinitionシンボルの定義場所に移動
goToImplementationインターフェースの実装場所に移動
hoverシンボルの型情報やドキュメントを取得
documentSymbolファイル内の全シンボル(クラス・関数・定数)を一覧表示
findReferencesシンボルの全参照箇所を検索
workspaceSymbolプロジェクト全体でシンボルを検索
prepareCallHierarchy関数のコールハイアラーキーを取得
incomingCallsある関数を呼び出している関数を全て列挙
outgoingCallsある関数が呼び出している関数を全て列挙

テキトー教師テキトー教師
このリストで個人的に注目しているのが incomingCallsoutgoingCalls です。「この関数を変更したら、どこに影響が出るか」を瞬時に把握できるので、大規模リファクタリングの前調査が劇的に楽になるんですよ。
室谷室谷
MYUUUのプロジェクトでも、レガシーコードの整理をClaude Codeに頼むときに「まず影響範囲を調べて」ってお願いするんですけど、LSPありだとこのコールハイアラーキー解析が本当に正確で。テキスト検索ベースとは比べものにならないですね。
テキトー教師テキトー教師
findReferences も地味に重要で、「このクラスを削除しても大丈夫か?」の確認に使えます。LSPなしだと「この名前でgrepしてみたけど全部ではないかも」という不確かさがありましたけど、LSPありだと「12箇所で参照されています」と正確な数字が出てくるので。
室谷室谷
型の認識もできるので、「同名の別の変数」は参照にカウントされない。これはマジで助かりますよね。

Claude CodeのLSPを有効にする方法:3ステップで完了

Claude Codeのプラグイン管理画面(公式ドキュメントより)

テキトー教師テキトー教師
実際に設定する手順を見ていきましょう。大きく分けると「ENABLE_LSP_TOOLを有効にする」「プラグインマーケットプレイスを追加する」「言語プラグインをインストールする」の3ステップです。

ステップ1:ENABLE_LSP_TOOLの設定

室谷室谷
まずLSP機能自体を有効にする必要があります。一番シンプルなのは、起動時に環境変数を渡す方法です。
ENABLE_LSP_TOOL=1 claude
テキトー教師テキトー教師
これで試してみて動作確認ができたら、永続化しましょう。settings.jsonに書くのが正式な方法です。
// ~/.claude/settings.json(ユーザースコープ)
{
  "env": {
    "ENABLE_LSP_TOOL": "1"
  }
}
室谷室谷
~/.claude/settings.json に書くとユーザー全体に適用されます。特定のプロジェクトだけに適用したい場合は .claude/settings.json に書けばOKです。
テキトー教師テキトー教師
受講生さんが混乱しやすいのが、この「ユーザースコープ vs プロジェクトスコープ」の違いですね。LSPは基本的にユーザースコープで設定しておいて、どのプロジェクトでも使えるようにしておくのがおすすめです。

ステップ2:プラグインマーケットプレイスを追加する

室谷室谷
次に、LSPプラグインを取得するためのマーケットプレイスを追加します。公式マーケットプレイスは自動で使えますが、コミュニティのPiebald-AIマーケットプレイスも追加しておくのが実用的です。
# Claude Code内で実行
/plugin marketplace add Piebald-AI/claude-code-lsps
テキトー教師テキトー教師
このコマンドはClaude Codeを起動した後、対話的に実行します。一度追加すれば永続化されるので、毎回実行する必要はありません。
室谷室谷
公式マーケットプレイスには Python(Pyright)、TypeScript、Rustの基本的なものが揃っています。ただ、GoのGopls、Java、Kotlin等はコミュニティマーケットプレイスにある方が充実しているんですよね。
テキトー教師テキトー教師
Piebald-AIのマーケットプレイスは2026年4月時点で25言語以上をカバーしています。TypeScript/JavaScript(vtsls)、Rust(rust-analyzer)、Python(pyright)、Go(gopls)、Java(jdtls)、Kotlin、Scala(metals)、C/C++(clangd)、PHP(phpactor)、Ruby(ruby-lsp)、C#(omnisharp)、PowerShell、HTML/CSS(vscode-langservers)、LaTeX(texlab)、Julia、Vue(vue-volar)、Svelte、OCaml、Ada、Dart、Solidity、Markdownなど。

ステップ3:言語プラグインのインストール

室谷室谷
マーケットプレイスが追加できたら、使いたい言語のプラグインをインストールします。
# TypeScript/JavaScriptの場合
/plugin install vtsls@claude-code-lsps

# Pythonの場合
/plugin install pyright@claude-code-lsps

# Rustの場合
/plugin install rust-analyzer@claude-code-lsps

# Goの場合
/plugin install gopls@claude-code-lsps
テキトー教師テキトー教師
@claude-code-lsps の部分がマーケットプレイス名の指定です。省略すると公式マーケットプレイスから探します。
室谷室谷
インストール後はClaude Codeを再起動するのを忘れずに。プラグインは起動時に読み込まれるので、再起動しないと有効になりません。
テキトー教師テキトー教師
これを忘れて「なんか動かない」ってなる受講生さん、めちゃくちゃ多いですね(笑)。インストール後の再起動は必須です。

言語別LSPのセットアップ:バイナリインストール方法一覧

室谷室谷
プラグインを入れただけではまだ動きません。プラグインはClaude Codeと言語サーバーの「橋渡し設定」で、実際に動く言語サーバーのバイナリは別途インストールが必要です。
テキトー教師テキトー教師
この2段階が混乱ポイントで、「プラグインをインストールしたのになぜ動かないの?」という相談の原因がほとんどここですね。整理するとこうなります。

言語プラグイン名言語サーバーのインストール
Pythonpyrightpip install pyright または npm install -g pyright
TypeScript/JSvtslsnpm install -g @vtsls/language-server typescript
Gogoplsgo install golang.org/x/tools/gopls@latest
Rustrust-analyzerbrew install rust-analyzer または rustup component add rust-analyzer
Javajdtlsbrew install jdtls(Java 21以上が必要)
C/C++clangdbrew install llvm または xcode-select --install
C#omnisharpbrew install omnisharp/omnisharp-roslyn/omnisharp-mono
Kotlinkotlin-lspbrew install kotlin-language-server
Rubyruby-lspgem install ruby-lsp
PHPphpactorcomposer global require phpactor/phpactor
HTML/CSSvscode-langserversnpm install -g vscode-langservers-extracted

室谷室谷
バイナリをインストールしたら、which pyright とか which gopls で正しくPATHに入っているかを確認してください。PATHが通っていないとClaude Codeから見つけられません。
テキトー教師テキトー教師
Goの場合は特に注意が必要で、$GOPATH/bin がPATHに入っているか確認してください。入っていない場合は export PATH=$PATH:$(go env GOPATH)/bin.zshrc.bashrc に追加します。
室谷室谷
Javaの場合はJava 21以上が必要なのも落とし穴ですね。古いバージョンが入っているとjdtlsが起動しない。

java --version で確認してから進めるのが確実です。

LSPの動作確認:正しく動いているかのテスト方法

テキトー教師テキトー教師
セットアップが完了したら、実際に動いているかを確認しましょう。確認方法はシンプルで、Claude Codeに自然言語でLSPが使いそうな質問をすれば大丈夫です。
室谷室谷
たとえばこんな感じです。TypeScriptのプロジェクトで「handleRequest 関数の定義に移動して」と聞いたとき、LSPが動いていれば「src/server.ts の42行目にあります」と即座に返ってきます。

動いていなければ「ファイルを検索してみます...」という感じで時間がかかるグレップ処理が走ります。
テキトー教師テキトー教師
もう少し正確に確認したい場合は、/plugin コマンドで確認できます。
/plugin
室谷室谷
このコマンドでプラグイン管理UIが開いて、インストール済みのプラグイン一覧と、エラーがあれば「Errors」タブに表示されます。「Errors」タブに何も出ていなければOKです。
テキトー教師テキトー教師
エラーが出ている場合の定番パターンが「Executable not found in $PATH」で、これはバイナリが見つからないということです。さっきの言語サーバーのインストールをやり直してください。

LSP動作確認のチェックリスト


以下の順番でチェックしていくと問題の特定がしやすくなります。

  1. ENABLE_LSP_TOOL=1 が設定されているか(settings.jsonまたは環境変数)
  2. Claude Codeを再起動したか
  3. プラグインが「Installed」タブに表示されているか(/plugin で確認)
  4. 「Errors」タブにエラーが出ていないか
  5. 言語サーバーのバイナリがPATHに入っているか(which pyright 等で確認)

室谷室谷
5番が特に見落とされがちですね。バイナリが入っていても、シェルのプロファイルを再読み込みしていないとPATHが反映されていないことがあります。

.zshrc に追加したなら source ~/.zshrc も忘れずに。

よくあるエラーと対処法

Piebald-AI/claude-code-lsps GitHubリポジトリ(25言語以上のLSPプラグインを提供するコミュニティマーケットプレイス)

「No LSP server available for file type」

テキトー教師テキトー教師
このエラーが出るときのチェックポイントは3つです。
室谷室谷
1つ目は「そもそもその言語のプラグインをインストールしているか」ですね。プラグインなしでLSP機能を使おうとするとこのエラーになります。
テキトー教師テキトー教師
2つ目が「プラグインのファイル拡張子マッピングに対応しているか」。たとえばPythonのpyrightプラグインは .py.pyi に対応していますが、それ以外のPythonファイルがある場合は設定が必要になることがあります。
室谷室谷
3つ目がインストール後の再起動未実施です。さっきも言いましたが、これが一番多い原因ですw。
テキトー教師テキトー教師
対処法は、まず /plugin でインストール済みを確認して、なければインストール、あれば再起動という順番です。

LSPプラグインが入っているのに動かない

室谷室谷
このパターンで多いのが、プラグインのキャッシュ問題です。以下のコマンドでプラグインキャッシュを削除して再インストールすると解決することがあります。
rm -rf ~/.claude/plugins/cache
テキトー教師テキトー教師
その後Claude Codeを再起動して、プラグインを /plugin install でインストールし直せばOKです。
室谷室谷
GitHubのIssue #15619でも報告されていましたが、「公式プラグインのplugin.jsonに認識されないキーが含まれていてバリデーションエラーになる」問題があって、その場合はキャッシュ内のplugin.jsonを手動で修正する必要があることがあります。コミュニティのissueを追っておくのがいいですね。
テキトー教師テキトー教師
で「lsp」で検索すると最新の既知の問題が確認できます。

TypeScriptのLSPでエラーが多発する

室谷室谷
TypeScript/JavaScriptで vtsls を使う場合、TypeScript本体もインストールが必要です。これを忘れると型解析が動かないんですよね。
npm install -g @vtsls/language-server typescript
テキトー教師テキトー教師
typescript がなければ vtsls は起動しても型チェックができないので、vtsls だけ入れても不完全です。セットでインストールしてください。

LSPのオペレーション活用例:実践的な使い方

室谷室谷
セットアップが完了したら、実際にどう活用するかを見ていきましょう。LSPの各オペレーションをClaude Codeにどう指示するか、具体的なプロンプト例を紹介します。
テキトー教師テキトー教師
大事なのは「Claude Codeに自然言語で依頼すれば、LLMが自動的にLSPオペレーションを選んで使ってくれる」という点ですね。こっちが「goToDefinitionを使ってください」と明示する必要はほとんどないです。

コードナビゲーション

室谷室谷
一番使うのがやはり定義への移動と参照検索です。

プロンプト例(定義に移動):

UserService クラスがどこで定義されているか教えて。そのソースコードも見せて。」

プロンプト例(参照を探す):

processPayment 関数が何箇所で呼ばれているか調べて。それぞれの呼び出し元も教えて。」


テキトー教師テキトー教師
「この関数を削除/変更しても安全か確認して」という依頼でもLSPのfindReferencesが活用されます。受講生さんに「リファクタリング前の影響範囲チェックに使ってみて」とよく言うんですが、これが特に効果的です。

リファクタリング支援

室谷室谷
大規模なリファクタリングでLSPの真価が発揮されます。

プロンプト例(影響範囲の事前調査):

LegacyAuthService クラスを削除したい。コールハイアラーキーを調べて、削除前に修正が必要な箇所を全てリストアップして。」


テキトー教師テキトー教師
これをテキスト検索でやろうとすると、「同名の文字列が含まれるコメントも全部引っかかる」「型の参照なのか値の参照なのか区別できない」という問題があります。LSPなら「コードとして意味のある参照」だけ正確に取得できます。
室谷室谷
MYUUUのプロジェクトでこういうケースがあって、テキスト検索だと47件ヒットしていたのが、LSPの findReferences だと23件が実際の参照で、残りはコメントや文字列だったということがありました。半分ノイズだったわけで・・・正確な情報で作業できるかどうかは全然違います。

型エラーのデバッグ

テキトー教師テキトー教師
diagnostics オペレーションも地味に強力で、「今のファイルに型エラーはある?」と聞くだけで、IDEと同じリアルタイム診断が返ってきます。
室谷室谷
これ、Claude Codeにコードを書かせた直後に「型エラーないか確認して」と続けると、書いてすぐ検証サイクルが回るんですよね。LSPなしだとこれができなくて、別途TypeScriptコンパイラを手動実行する必要があって面倒でした。

プロンプト例(型チェック):

src/api/handlers.ts に型エラーがないか確認して。あれば修正して。」


LSPプラグインの設定をカスタマイズする:.lsp.jsonの書き方

テキトー教師テキトー教師
公式マーケットプレイスやコミュニティマーケットプレイスにない言語でLSPを使いたい場合や、既存の設定をカスタマイズしたい場合は、.lsp.json を自分で書くことができます。
室谷室谷
構造はシンプルで、言語サーバー名をキーにして設定を書くだけです。
{
  "go": {
    "command": "gopls",
    "args": ["serve"],
    "extensionToLanguage": {
      ".go": "go"
    },
    "transport": "stdio",
    "startupTimeout": 60000,
    "shutdownTimeout": 15000,
    "maxRestarts": 3
  }
}
テキトー教師テキトー教師
設定のフィールドを整理するとこうなります。

フィールド必須説明
command必須実行するLSPバイナリ(PATHに入っている必要がある)
extensionToLanguage必須ファイル拡張子と言語IDのマッピング
args任意コマンドライン引数(通常は ["--stdio"]
transport任意通信方式(stdio がデフォルト)
env任意言語サーバー起動時の環境変数
initializationOptions任意LSP初期化時のオプション
settings任意workspace/didChangeConfiguration で渡す設定
startupTimeout任意起動タイムアウト(ミリ秒)
shutdownTimeout任意終了タイムアウト(ミリ秒)
maxRestarts任意クラッシュ時の最大再起動回数(デフォルト: 3)

室谷室谷
この .lsp.json はどこに置くかが大事で、プラグインを作る場合はプラグインルートに置きます。プロジェクトスコープで使いたいなら .claude/.lsp.json に置けばOKです。
テキトー教師テキトー教師
複数の言語サーバーを1つの .lsp.json に定義することもできます。たとえば vscode-langservers はHTMLとCSSの両方をカバーしていて、1ファイルで2つのサーバーを設定できます。

LSPと他のClaude Code機能の組み合わせ

室谷室谷
LSPは単体でも強力ですが、他の機能と組み合わせるとさらに活用できます。特にサブエージェントと組み合わせるのが面白くて・・・
テキトー教師テキトー教師
あ、これわかります。コードベース全体を複数エージェントで並列解析する場合、各エージェントがLSPを使ってシンボルを正確に追えるので、結果の精度が上がりますよね。
室谷室谷
MYUUUでやったのが「大規模なAPIリファクタリングを3つのエージェントで並列で進めて、それぞれのエージェントがLSPで影響範囲を確認しながら作業する」というパターンです。これは独断でやらないようにしながら、確認してから進める感じで・・・LSPの精度があってこそできる使い方でした。
テキトー教師テキトー教師
HooksとLSPの組み合わせも実践的です。ファイルを保存するたびに自動でLSPのdiagnosticsを実行して、型エラーがあれば通知するHookを設定しておくと、開発サイクルがかなり締まりますよね。
室谷室谷
そこまで組み合わせると、本格的なIDEに近い体験になってきますよね。「ターミナルで完結するIDEレベルの開発環境」って感じで、これがLSPサポートを入れたAnthropicの狙いなんだと思います。

Claude CodeのLSP対応状況:VSコードとの比較

テキトー教師テキトー教師
現実的な話もしておきましょう。Claude CodeのLSPは強力ですが、VS CodeのネイティブなLSP実装と比べると、対応言語数でまだ差があります。
室谷室谷
整理するとこういう状況ですね。

項目Claude Code LSPVS Code LSP
対応言語数(公式)Python、TypeScript、Rust等(少数)100以上
対応言語数(コミュニティ)25言語以上(Piebald-AI)数千以上
セットアップ中程度(3ステップ)低(拡張機能1クリック)
AI連携ネイティブ拡張機能経由
コンテキスト窓20万トークン以上N/A
使用シーンターミナルネイティブ、大規模コード解析GUI、日常開発

テキトー教師テキトー教師
これを見て「VS Codeでいいじゃないか」と思う人もいるかもしれないですけど、用途が違うんですよね。Claude Codeは「AIと一緒にコードを読んで、大きな変更を安全にやる」ための道具で、VS Codeは「自分でコードを書く」ための道具です。
室谷室谷
そこが本質なんですよね。LSPサポートは「AIが正確にコードを理解できるようにするための機能」であって、「エディタの代わりになるための機能」ではない。

20万トークンのコンテキストの中でAIがLSPを使ってナビゲーションするという体験は、VS Codeには再現できないんですよ。
テキトー教師テキトー教師
Cursor等の「AIエディタ」との比較も面白いですよね。CursorはGUIで使いやすいですが、Claude Codeはターミナルネイティブで、大規模なコードベース解析や自動化・CI/CD連携では有利な面があります。

よくある質問(FAQ)

室谷室谷
ここまでの内容を踏まえて、よくある質問にまとめて答えておきましょう。
テキトー教師テキトー教師
コミュニティや講座でよく出る質問を中心にいきます。
室谷室谷
「LSPプラグインは有料ですか?」という質問がまず多いですね。これは無料です。

Claude CodeのプラグインシステムもLSPプラグインも無料で使えます。LSP機能自体を使うにはClaude Codeのプランが必要ですが、それはLSPに関係なく必要なものです。
テキトー教師テキトー教師
「どのLSPプラグインをまず入れればいいですか?」という質問には、メインで使っている言語のものから入れましょうと答えています。TypeScriptを書くなら vtsls、Pythonなら pyright から始めるのが定石です。
室谷室谷
「LSPを有効にすると遅くなりませんか?」という心配もわかります。言語サーバーはバックグラウンドで動くので、起動時に少し時間がかかりますが、一度起動してしまえば以降の操作は高速です。

テキスト検索より圧倒的に速くなるケースが多いです。
テキトー教師テキトー教師
「複数の言語プラグインを同時に入れても大丈夫ですか?」という質問には、はい大丈夫ですと答えられます。ただし各言語サーバーがメモリを使うので、あまり多く入れすぎるとメモリ消費が大きくなる可能性はあります。

実際に使う言語のものだけ入れるのが現実的です。
室谷室谷
「Windowsでも動きますか?」も多い質問ですね。claude code lsp windows というKWもボリュームがありました。

Windows環境では、WSL2(Windows Subsystem for Linux)を使ってLinux上でClaude Codeを動かすのが推奨される方法です。ネイティブWindowsでも動きますが、一部の言語サーバーはLinux/macOSでの動作が安定していることが多いです。
テキトー教師テキトー教師
「LSPとMCPは何が違うの?」という質問も最近増えてきました。MCPはClaude Codeが外部のツールやデータソースと連携するための仕組みで、LSPはコード編集のための言語インテリジェンスを提供する仕組みです。

目的が違うので、両方設定して使うものです。
室谷室谷
「Serena LSPって何?」という質問も来ることがあって・・・ claude code lsp vs serena というKWもありましたね。Serenaは別のLSPサーバー実装で、Claude Codeで使うためのサードパーティツールです。

Piebald-AIのマーケットプレイスと競合する位置づけで、それぞれ独自のアプローチで言語サポートを提供しています。

まとめ:Claude CodeのLSPで開発体験を大きく変える

テキトー教師テキトー教師
今回のポイントをまとめると、LSPを有効にすることでコードナビゲーションが900倍以上速くなり、意味的に正確な参照検索ができるようになります。設定は3ステップで完了します。
室谷室谷
1️つ目は ENABLE_LSP_TOOL=1 をsettings.jsonのenvに設定すること。2つ目はマーケットプレイス(公式 or Piebald-AI)を追加すること。

3つ目は使いたい言語のプラグインと言語サーバーのバイナリをインストールすること。この順番でやれば大体うまくいきます。
テキトー教師テキトー教師
「大規模なコードベースでClaude Codeを使っていて、動作が遅い」と感じているなら、まずLSPを試してみてください。特にTypeScript、Python、Rust、Goを使っているプロジェクトでは即効性があります。
室谷室谷
.AI(ドットエーアイ)コミュニティでも「LSP入れてから全然違う」という声が多くて、これは体験してみないとわからない部分もあるんですよね。セットアップ自体は30分もあれば完了するので、ぜひ試してみてください。

出典

.AI TIMES一覧に戻る