OpenCode: OpenCode LSP Integration
最終更新:2026-08-31
--- title: OpenCode LSPサーバー設定 description: LSPサーバーを設定してIDEレベルのコード分析機能を取得する order: 16 lang: ja
LSP(Language Server Protocol)により、OpenCodeはIDEレベルのコード分析機能を獲得します。
1. 学習内容
- LSPの役割と原理
- OpenCodeでのLSP設定
- 対応言語サーバー
- 実験的機能の有効化
2. LSPとは
LSPはコード補完、定義ジャンプ、参照検索、シンボル名変更、診断情報、ホバー情報を提供。
3. OpenCodeでLSPを有効化
BASH
export OPENCODE_EXPERIMENTAL_LSP_TOOL=true
opencode.jsonで設定:
JSON
{
"lsp": {
"typescript": {
"command": "typescript-language-server",
"args": ["--stdio"]
},
"python": {
"command": "pylsp",
"args": []
}
}
}
4. 主要言語サーバー
| 言語 | サーバー | インストール |
|---|---|---|
| TypeScript/JS | typescript-language-server | npm i -g typescript-language-server typescript |
| Python | pylsp / pyright | pip install python-lsp-server / npm i -g pyright |
| Go | gopls | go install golang.org/x/tools/gopls@latest |
| Rust | rust-analyzer | rustup component add rust-analyzer |
| C/C++ | clangd | システムパッケージマネージャー |
5. 使用方法
有効化後、AIはLSPツールで精密な分析を実行:
TEXT
📖 参照専用
auth関数のすべての参照を見つけて
❓ FAQ
Q LSPは必須ですか?
A いいえ。LSPなしでもOpenCodeはファイル読み取りと検索でコード分析可能。LSPはより精密な分析(定義ジャンプ、参照検索)を追加する拡張機能。
Q LSPサーバーの起動が遅い場合?
A 大規模プロジェクトは初回起動時にインデックスが必要。LSPサーバーを事前に起動しておけば、OpenCodeは既存のインスタンスを再利用。
📖 まとめ
- LSPはIDEレベルのコード分析を提供
OPENCODE_EXPERIMENTAL_LSP_TOOLで有効化- opencode.jsonのlspフィールドでサーバーを設定
- 主要言語:TS、Python、Go、Rustすべて対応
- 拡張機能——なしでも動作可能
📝 練習問題
-
基本問題:主要プログラミング言語のLSPサーバーをインストールしてください。
-
応用問題:opencode.jsonでLSPを設定し、定義ジャンプと参照検索を使用可能にしてください。
-
チャレンジ問題:LSPの有無でOpenCodeのコード分析精度を比較してください。