Emacs 的 Language Server Protocol 客户端,为 Emacs 提供类 IDE 的补全、诊断与代码导航。
microsoft/multilspy
一个 Python 版 LSP 客户端库,用于基于语言服务器构建代码分析应用。
- Star
- 615
- Fork
- 112
- 未关闭 Issue
- 57
- 最近提交
- 9天前
这是什么?
multilspy 是一个用于 Language Server Protocol(LSP)的 Python 客户端库。开发者可以启动语言服务器,发送跳转定义、查找引用、悬停信息、代码补全和文档符号等请求,并直接获得结构化结果,无需自行处理 JSON-RPC 通信细节。
该库负责下载适配不同平台的服务器二进制文件,并管理其启动与关闭,同时处理协议通信和各语言的配置参数。它同时提供同步 API 和基于 asyncio 的异步 API。支持的语言包括 Java、Python、Rust、C#、TypeScript、JavaScript、Go、Dart、Ruby、Kotlin、PHP 和 C++。
该项目源自 Monitor-Guided Decoding 的研究,即用静态分析结果引导大模型生成代码。它适合用于构建为 AI 系统提供仓库级上下文的工具。
核心功能
- 01自动下载适配平台的语言服务器二进制文件,并管理其启动与关闭。
- 02提供跳转定义、查找引用、悬停信息、代码补全和文档符号等请求。
- 03同时提供同步和基于 asyncio 的异步 API。
- 04通过统一接口支持十余种编程语言。
- 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 是什么?
- 一个 Python 版 LSP 客户端库,用于基于语言服务器构建代码分析应用。 multilspy 是一个用于 Language Server Protocol(LSP)的 Python 客户端库。开发者可以启动语言服务器,发送跳转定义、查找引用、悬停信息、代码补全和文档符号等请求,并直接获得结构化结果,无需自行处理 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
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
5134+3 本周984Emacs LispGPL-3.0更新于 18天前
用 Rust 编写的快速 Python 类型检查器与语言服务器,提供代码导航、自动补全等 IDE 功能。
7186+2 本周590RustMIT更新于 17小时前
支持 Java 1 至 Java 25 的解析器,可生成抽象语法树,并附带符号解析与类型分析能力。
6173+1 本周1278JavaOther更新于 19小时前
为 Neovim 内置 LSP 客户端提供的一组开箱即用的语言服务器配置。
1.4万+8 本周2502LuaApache-2.0维护活跃更新于 17小时前
Elixir 官方语言服务器实现,为编辑器提供 Elixir 项目的代码智能支持。
2071121ElixirApache-2.0维护活跃更新于 16小时前
纯 Lua 编写的 Neovim 插件,替代 copilot.vim,提供 GitHub Copilot 行内补全、建议面板和集成 API。
4094164LuaMIT维护活跃更新于 3天前