Repolode
microsoft

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. 1

    创建并激活 Python 3.10+ 虚拟环境

    conda create -n multilspy_env python=3.10
  2. 2

    激活虚拟环境

    conda activate multilspy_env
  3. 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 数据每日更新。

相关项目