Claude CodeにネイティブLSPサポート機能を追加
(github.com/anthropics)- ターミナルで実行されるAIベースのコーディングツールであるClaude Codeが、最新バージョンでLSP (Language Server Protocol) ツールを追加
- これにより、定義へ移動 (go-to-definition)、参照の検索 (find references)、ホバー時のドキュメント表示といったIDEレベルのコードインテリジェンス機能を提供
/terminal-setupコマンドがKitty、Alacritty、Zed、Warpターミナルを正式サポート/theme画面でCtrl+Tでシンタックスハイライトの on/off を切り替え可能- macOSでAltショートカットが動作しない場合に備えたターミナル設定ガイドを追加し、macOSのショートカット表記を
altではなく**optに統一**して実際のキーキャップと一致させた /contextコマンドの出力が改善され、skill と agent を出所別にグループ化し、スラッシュコマンド基準で整理、トークン使用量基準のソートを提供
2件のコメント
serena を使っていましたが、やはりビルトインが正解ですね
Hacker Newsの意見
JetBrainsがなぜリファクタリングツールをAIシステムに統合しなかったのか理解できない
関数名の変更のような簡単な作業でも、何百ものファイルを編集する代わりに、はるかに小さなコンテキストで処理できたはずなのに残念
LSP対応は良い出発点だが、コードの変形機能がなければ依然として不十分
JetBrainsのLSP品質も一般的なものより優れているわけではない
コミットモーダルをなくして料金プランを値上げしてから、10年以上使ってきたものを移そうかと考えた
最近の失敗例はこのブログ記事でも見られる
JetBrainsはコードの意味を最もよく理解するPSIエンジンを持っているが、いまだに人間がIDEを直接操作するというパラダイムに縛られている
Claude CodeやCursorはエディタをAIが自由に扱うキャンバスとして見ているのに対し、JetBrainsはAIを単なるサイドバーのプラグインとして扱っている
内部のリファクタリングツールをエージェントに開放しなければ、VS Codeへの移行摩擦はなくなるだろう
そうしなければVS Codeが市場を飲み込むだろう
かつては大きな参入障壁を持っていたが、VS Codeがそれを崩した
変化の流れをまったく予想できず、今は方向を見失っているようだ
RoslynとCopilotをうまく結び付けられていない
Roslyn analyzerは単なるリンターではなく、コード変換まで可能な強力なツールなのに、AIがいまだに単純なfind/replaceで処理しているのを見るともどかしい
Roslynベースのエージェントが登場すれば、大規模コードベースでの作業効率は爆発的に上がるだろう
私はClaude Code / Codex CLI + LSPの組み合わせに非常に前向きだ
週末にCodexを使ってみたが、関数名の変更やシンボル移動の際に参照を取りこぼすのが不便だったので、Python向けリファクタリングツールのRopeをつなぐスキルを自作してみた
かなり満足している
LSP対応がないのは本当に奇妙だ
まだこの分野にはやるべきことが多いことを示している
公式ドキュメントが不足していたので、自分で調べた結果を共有する
/pluginコマンドでClaude Codeのプラグインマネージャーを開き、Discoverタブでlspを検索してspacebarで有効化し、iでインストールすればよい最近の変更ログを探してみたら、3日前に追加された機能だった
まだ実験的なので無効化してある
mcpを検索しても何も出てこない機能はまだ未完成の段階に見える
今後Claudeが自動でLSPを認識するよう改善されることを望む
関連ドキュメントはこちら
AnthropicのClaude Code UXは主要なAI製品の中で最悪だ
単にテキストをコピー&ペーストすることすら不便で、ユーザーフィードバックも無視している
この状態なら、なぜChatGPTの代わりにこれを使うべきなのかわからない
私はオープンソースのOpenCodeを6か月使っているが、すでにこうした機能を提供していた
クローズドソフトウェアの進みの遅さには驚く
ClaudeやCopilotのサブスクリプションと一緒に使えるのでおすすめだ
OpenCodeには承認待ち中のCPU 100%使用、ポップオーバーによる誤動作などの性能問題があった
それでもClaude Codeにもスクロール時のちらつきのようなバグはある
Claude Codeはすぐに良い結果を出してくれるが、OpenCodeはモデル接続も難しく効率が低い
おそらくClaude Codeのプロンプトチューニングが長年積み重ねられてきたおかげだろう
複数の利害関係者の説得やスプリント調整に時間を無駄にしない
ただし細かなバグやクラッシュは時々発生する
誰かが朝にAGIを発表したら、夕方にはもう統合しているくらいだ
私も複数のツールを行き来しながらテストしているが、OpenCodeは着実に進化し続けている
CLI形式のツールに熱狂するのは奇妙に感じる
IDEベースのエージェントはすでにこうした機能を標準搭載しているのに、わざわざターミナルでdiffやLSPを実装するのが効率的なのか疑問だ
Cursorはすでにかなり前からこうした機能をサポートしている
CLIもLSPサーバーにつなぐ小さなクライアントを作れば十分だ
IDEだけがLSPの恩恵を独占する理由はない
ターミナルは単なるコード編集ではなく、コンピュータ全体をオーケストレーションする空間だ
kubectlがGUIへ進化しなかった理由と似ている関連記事: It's on your computer
たとえばZedは、MCPサーバーがなければLSP情報を活用できない
デスクトップアプリの不完全なUIよりCLIのほうがいいと感じる
最近の自分の記事でも書いたように、LLMを非効率に回しているせいでトークンの浪費とエネルギーの浪費が深刻だ
LLMがツールをもっと簡単に使えるようにすることが核心だ
これはコーディングだけでなく、あらゆる分野に適用できる原則だ
エネルギー、水、資源の浪費による環境被害を考慮すべきだ
たとえばSerenaのようなプロジェクトがある
私の気に入っているエージェントCrushはすでにLSPをサポートしている
ただ、実際にはエージェントがその機能を頻繁に使ってはいない
Crush GitHubリンク
AGENT.mdにインストール済みのLSPサーバーを明記しても違いがあったのか気になるまだLSPが実際に使われている場面を見たことがない
Opus 4.5はQAのタイミングが安定しており、lintチェックもIDEの外でうまく動く
定義が深く隠れている場合にはLSPが役立つかもしれない
Claudeが提供するLSP機能の一覧は次のとおりだ
LSPはシェルコマンド形式のAPIを提供すべきだ
そうすればLLM統合が容易になり、人間にとっても有用になるだろう
ただしLLMが専用ツールとしてLSPを使うほうが、単純なシェルコマンドより効率的だ