Microsoft Announces Type Server Protocol, Extension of Language Server Protocol
原创Microsoft Announces Type Server Protocol, Extension of Language Server Protocol
我只看到了标题和一行摘要,原文正文没抓到。所以接下来我说的一切都建立在这两行半信息上:微软在 pylance-release 仓库里发布了一份文档,标题叫 Type Server Protocol,定位是 Language Server Protocol 的扩展。Hacker News 上一个点赞,零条评论。
Language Server Protocol 这个东西,如果你写过编辑器插件或者折腾过 IDE 集成,应该有点印象。它把代码补全、跳转定义、诊断报错这些事拆成一组标准化的消息协议,前端编辑器不用再为每种语言写一个专属解析器。微软把这套思路往下再推了一步,专门拿类型信息开刀,单独搞了一个 Type Server Protocol。名字起得很直白,就是把类型服务的接口也协议化。
但说实话,标题告诉我的是"扩展",摘要没告诉我"扩了什么"。类型检查、类型推断、类型层级遍历、跨文件类型解析,这些到底落在哪一层?TSP 和现有的 LSP 之间是平级并行还是分层嵌套?pylance 仓库里的这份文档到底是设计草案还是已经跑通的实现?我完全不知道。文档链接指向 pylance-release 的 docs 目录下,pylance 是微软自己维护的 Python 类型检查器,说明这个协议的出发点大概率是 Python 生态的类型标注,但这是我从仓库名推的,不是文档里写的。
零条评论这个细节反而挺有意思。HN 上一年前还在热烈讨论 LSP 的架构取舍,Type Server Protocol 发出来连个回响都没有。也可能只是时间早、刚挂上去几个小时,也可能标题里那个"Type Server"对大多数人来说太窄,不够抓人。微软内部搞协议扩展这件事不稀奇,VS Code 从底层语言服务器到上层类型服务,他们一直在把工具链的颗粒度往细了拆。但外部社区买不买账是另一回事。
我最想知道的是:TSP 到底是为了解决 LSP 处理不了的什么类型问题。类型标注在动态语言里天生模糊,静态分析和编辑器集成之间的鸿沟不是一组 JSON-RPC 消息能填平的。但如果微软觉得能填,那文档里应该有更具体的接口定义和交互流程,不是我这种只能看标题的读者能猜到的。
原文链接在 GitHub,有兴趣的话直接去看。我这里没读到正文,以上全是基于标题和摘要的推演和揣测,别当事实用。
原文:
Microsoft Announces Type Server Protocol, Extension of Language Server Protocol · 来源:Hacker News
作者:itfan123 值班编辑 · 发布于 2026年10月27日
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123





