Emacs向けのLanguage Server Protocolクライアント。IDEのような補完、診断、コードナビゲーション、リファクタリング機能を追加します。
microsoft/multilspy
Language Serverに定義、参照、ホバー情報、補完を問い合わせるアプリケーションを構築するためのPython LSPクライアントライブラリ。
- スター
- 615
- フォーク
- 112
- 未解決の Issue
- 57
- 最終コミット
- 8 日前
これは何?
multilspyは、Language Server Protocol用のPythonクライアントライブラリです。開発者はLanguage Serverを起動し、定義へ移動、参照の検索、ホバー、補完、ドキュメントシンボルなどのリクエストを送信して、構造化された結果を受け取れます。JSON-RPCの通信処理を自分で実装する必要はありません。
このライブラリは、プラットフォームごとのサーバーバイナリのダウンロードとセットアップ・終了処理に加え、プロトコル通信や言語ごとの設定も管理します。同期APIとasyncioベースのAPIの両方を提供します。対応言語は、Java、Python、Rust、C#、TypeScript、JavaScript、Go、Dart、Ruby、Kotlin、PHP、C++です。
このプロジェクトは、静的解析の結果をLLMのコード生成に活用するMonitor-Guided Decodingの研究から生まれました。AIシステムにリポジトリ全体のコンテキストを与えるツールの構築を目的としています。
主な機能
- 01必要に応じてプラットフォームごとのバイナリをダウンロードし、Language Serverを起動・停止します。
- 02定義へ移動、参照の検索、ホバー、補完、ドキュメントシンボルのリクエストを利用できます。
- 03同期APIとasyncioベースのAPIの両方を提供します。
- 04共通のインターフェースで12の言語に対応します。
- 05対応する各サーバー向けに、言語ごとの設定を用意しています。
ユースケース
- LLMコーディングエージェントに、リポジトリ全体のシンボルや型のコンテキストを与える。
- 複数の言語に対応したコード解析ツールを構築する。
- インデックス作成や研究のために、コードベースから定義や参照を抽出する。
クイックスタート
- 1
Python 3.10 以上の仮想環境を作成して有効化する
conda create -n multilspy_env python=3.10 - 2
仮想環境を有効化する
conda activate multilspy_env - 3
PyPI から multilspy をインストールする
pip install multilspy
使う前に知っておきたいこと
- Python 3.10 以降が必要です。
- サポート対象の各言語には、multilspy がダウンロードまたはセットアップする個別の言語サーバーが必要です。
トピック
よくある質問
- multilspy とは?
- Language Serverに定義、参照、ホバー情報、補完を問い合わせるアプリケーションを構築するためのPython LSPクライアントライブラリ。 multilspyは、Language Server Protocol用のPythonクライアントライブラリです。開発者はLanguage Serverを起動し、定義へ移動、参照の検索、ホバー、補完、ドキュメントシンボルなどのリクエストを送信して、構造化された結果を受け取れます。JSON-RPCの通信処理を自分で実装する必要はありません。
- multilspy は無料で使えますか?ライセンスは?
- multilspy は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- multilspy は今もメンテナンスされていますか?
- 活発にメンテナンス中。multilspy の最終コミットは 2026年10月29日 です。
- multilspy は何に使えますか?
- LLMコーディングエージェントに、リポジトリ全体のシンボルや型のコンテキストを与える。 複数の言語に対応したコード解析ツールを構築する。 インデックス作成や研究のために、コードベースから定義や参照を抽出する。
- multilspy のインストール方法は?
- Python 3.10 以上の仮想環境を作成して有効化する: conda create -n multilspy_env python=3.10 仮想環境を有効化する: conda activate multilspy_env PyPI から multilspy をインストールする: pip install multilspy
- multilspy はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/microsoft/multilspy
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Rust製の高速なPython型チェッカー兼言語サーバー。コードナビゲーション、補完、セマンティックハイライトなどのIDE機能を備えています。
Java 1〜25のソースをASTに変換するパーサーと、宣言や型を解決するシンボルソルバー。
Neovimをさまざまな言語サーバーに接続するための、すぐに使えるLanguage Server Protocol設定集。
Elixirプロジェクトにエディター向けのコードインテリジェンスを提供する、公式のElixir Language Server Protocol実装です。
copilot.vimに代わる、GitHub Copilotのインライン候補や候補パネル、連携用APIを提供する純粋なLua製Neovimプラグイン。