一个现代化的、精心设计的 Language Server Protocol Python SDK

17 小时 33 分钟前
 observerw

项目链接: https://github.com/observerw/lsp-client

各位同行们应该对 LSP 都不陌生,平常咱们使用 VSCode 写代码的时候基本少不了 LSP Server 的帮助。

我目前所做的工作有关 LLM 代码生成,所以不可避免地会需要对代码仓库进行一些静态分析,但我发现现有的静态分析工具的生存状况堪忧,基本上都没什么人维护了,即使那些还活着的项目,其功能也少得可怜。

相比之下,各个语言的 LSP Server 活的都非常好(应该是因为用的人也多),而且功能非常全面,看起来比那些半死不活的静态分析工具好太多了🤣。所以我就希望能够在代码中直接调用 LSP Server 的各个功能,来完成一些分析任务,说白了就是需要一个 LSP Server 的 Python SDK 。

我曾经尝试使用过 multilspy,一个微软开发人员所开发的 LSP Server SDK 。在简单场景下用着没什么问题;但当我想手动扩展一下它的功能时,就发现它的代码写的乱七八糟,让人难以有 follow up 的欲望(微软对于开源项目也太不上心了)。所以我干脆就另起炉灶起了一个新项目,实现一个更加现代化的 LSP Client 。相较于 multilspy ,该项目的优势体现在:

后续我计划在该项目中添加 MCP ( Model Context Protocol )支持,从而让 LLM Agent (比如 Cursor )也能够具有调用 LSP Server 的能力。

目前该项目还处于起步阶段,原生支持的 LSP Server 还不太多;但由于扩展起来比较容易,我预计应该能很快的补全这一短板。欢迎诸位试用,当然更欢迎诸位为本项目提供宝贵的 PR 完善其功能,非常感谢!

450 次点击
所在节点    程序员
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1144748

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX