---
title: "微软宣布 Type Server Protocol：Pylance 可换类型检查后端，首批对接 Meta Pyrefly - Angryecho"
description: "2026年10月21日，微软 Python 团队在开发者博客宣布推出 Type Server Protocol（TSP），并与 Meta 合作，让 Pyrefly 可作为 Pylance 的类型诊断后端。同日 Pyrefly 团队也发文说明了 VS Code 集成路径。"
canonical_url: "https://www.angryecho.com/c/Python/p/P2TBBocLN5BkDkwEItbas"
meta:
  "og:description": "2026年10月21日，微软 Python 团队在开发者博客宣布推出 Type Server Protocol（TSP），并与 Meta 合作，让 Pyrefly 可作为 Pylance 的类型诊断后端。同日 Pyrefly 团队也发文说明了 VS Code 集成路径。"
  "og:image": "https://www.angryecho.com/_og/d/c_Post%2Ctitle_~5ZCQ5qe9572R%2Cdescription_~5ZCQ5qe95LiA5LiL77yM5bCx5LiK5ZCQ5qe9572R44CC%2CpostId_P2TBBocLN5BkDkwEItbas%2Crevision_~MjAyNi0xMC0yN1QwMjo1Nzo0OS4yMjMzNTBa%2Cp_Ii9jL1B5dGhvbi9wL1AyVEJCb2NMTjVCa0Rrd0VJdGJhcyI%2Cs_U_AY_QGZ-vC8P7K0.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "微软宣布 Type Server Protocol：Pylance 可换类型检查后端，首批对接 Meta Pyrefly"
---

> Index of every page on this site: [llms.txt](https://www.angryecho.com/llms.txt)

# **微软宣布 Type Server Protocol：Pylance 可换类型检查后端，首批对接 Meta Pyrefly**

2026年10月21日，微软 Python 团队在开发者博客宣布推出 **Type Server Protocol（TSP）**，并与 Meta 合作，让 Pyrefly 可作为 Pylance 的类型诊断后端。同日 Pyrefly 团队也发文说明了 VS Code 集成路径。协议规范目前放在 `microsoft/pylance-release` 仓库的 TSP 文档中，语义版本处于 **0.4.x** 线（含 0.4.1 的多连接协商）。\[1]\[2]\[3]

## 发生了什么

TSP 是一套基于 **JSON-RPC** 的开放协议，沿用 LSP 里常见的位置、范围、URI 等数据形状，方法名以 `typeServer/` 为前缀。它要解决的问题很具体：过去 Pylance 与 Pyright 绑得太紧，想换类型检查器往往意味着放弃 Pylance 的补全、Quick Info、环境管理和 GitHub Copilot 集成。TSP 把「编辑器侧智能层」和「可替换的类型分析后端」拆开——Pylance 继续负责 IDE 体验，类型检查器变成可插拔组件；默认仍可用 Pyright，也可切到 Pyrefly。\[1]\[3]

微软文中写明：需要 **Pylance 2026.4.1 或更新**；打开工作区时若检测到环境中的 Pyrefly（或 `pyrefly.toml` / `pyproject.toml` 里的配置），会提示切换诊断源。也可在设置里把 **Python › Analysis: Diagnostics Source** 选为「Pylance + Pyrefly」，并可用 **Pyrefly Version** 钉版本或指向本机可执行文件（最低支持约 0.60.0）。状态栏会显示当前诊断源。\[1]

## 协议本身在做什么

据权威规范文档，类型服务器维护工作区的类型分析状态，回答协议版本、快照、搜索路径、导入解析，以及计算类型 / 声明类型 / 期望类型等查询。会话通常先走 LSP 式初始化与文档同步，再调用 `typeServer/getSupportedProtocolVersion`、`typeServer/getSnapshot`，随后在快照约束下发查询；服务端可用 `typeServer/snapshotChanged` 通知结果失效。0.4.1 起还可协商只读的额外连接，供高并发查询，主连接仍独占会改状态的流量。\[3]

## 社区反应里的两点争议

2026年10月27日凌晨，该协议文档链到 Hacker News 后引发讨论。有人认为名称过泛——协议目前面向 Python，却占用了「Type Server Protocol」这类通用名；也有人追问为何不直接做成 LSP 扩展或新版 LSP 能力。另有评论指出 basedpyright 维护者此前对 TSP 方向有批评，而 Astral 的类型检查器 Ty 则 reportedly 计划支持 TSP。这些都属于社区观点，不等于协议已成事实标准。\[4]

> 说明：TSP 仍处 0.x，次版本可能不兼容；文中功能与版本以微软博客及仓库规范为准。本文未实测切换流程。

## 来源

> \[1] [Pylance + Pyrefly: bring your preferred type checker to Visual Studio Code](https://devblogs.microsoft.com/python/announcing-tsp/)，Microsoft for Python Developers Blog，Brett Cannon，2026年10月21日。

> \[2] [Pyrefly + Pylance Integration in VS Code](https://pyrefly.org/blog/pyrefly-pylance/)，Pyrefly Team，2026年10月21日。

> \[3] [Type Server Protocol 规范](https://github.com/microsoft/pylance-release/blob/main/docs/tsp/type-server-protocol.md)，microsoft/pylance-release，查阅于2026年10月27日（北京时间）。

> \[4] [Hacker News: Type Server Protocol](https://news.ycombinator.com/item?id=50248371)，讨论帖，约2026年10月27日02:14（北京时间）前后上线。

#TypeServerProtocol #TSP #Pylance #Pyrefly #Python #VSCode #微软 #Meta

排序方式 :

### **成为第一条评论！**

Nobody's responded to this post yet. Add your thoughts and get the conversation going.

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://www.angryecho.com/c/Python/p/P2TBBocLN5BkDkwEItbas#post","@type":"DiscussionForumPosting","commentCount":0,"dateModified":"2026-10-27T02:57:49.223Z","datePublished":"2026-10-26T18:14:00.000Z","description":"2026年10月21日，微软 Python 团队在开发者博客宣布推出 Type Server Protocol（TSP），并与 Meta 合作，让 Pyrefly 可作为 Pylance 的类型诊断后端。同日 Pyrefly 团队也发文说明了 VS Code 集成路径。","headline":"微软宣布 Type Server Protocol：Pylance 可换类型检查后端，首批对接 Meta Pyrefly","isPartOf":"https://www.angryecho.com/c/Python","mainEntityOfPage":"https://www.angryecho.com/c/Python/p/P2TBBocLN5BkDkwEItbas","text":"2026年10月21日，微软 Python 团队在开发者博客宣布推出 Type Server Protocol（TSP），并与 Meta 合作，让 Pyrefly 可作为 Pylance 的类型诊断后端。同日 Pyrefly 团队也发文说明了 VS Code 集成路径。协议规范目前放在 microsoft/pylance-release 仓库的 TSP 文档中，语义版本处于 0.4.x 线（含 0.4.1 的多连接协商）。[1][2][3]\n\n发生了什么\n\nTSP 是一套基于 JSON-RPC 的开放协议，沿用 LSP 里常见的位置、范围、URI 等数据形状，方法名以 typeServer/ 为前缀。它要解决的问题很具体：过去 Pylance 与 Pyright 绑得太紧，想换类型检查器往往意味着放弃 Pylance 的补全、Quick Info、环境管理和 GitHub Copilot 集成。TSP 把「编辑器侧智能层」和「可替换的类型分析后端」拆开——Pylance 继续负责 IDE 体验，类型检查器变成可插拔组件；默认仍可用 Pyright，也可切到 Pyrefly。[1][3]\n\n微软文中写明：需要 Pylance 2026.4.1 或更新；打开工作区时若检测到环境中的 Pyrefly（或 pyrefly.toml / pyproject.toml 里的配置），会提示切换诊断源。也可在设置里把 Python › Analysis: Diagnostics Source 选为「Pylance + Pyrefly」，并可用 Pyrefly Version 钉版本或指向本机可执行文件（最低支持约 0.60.0）。状态栏会显示当前诊断源。[1]\n\n协议本身在做什么\n\n据权威规范文档，类型服务器维护工作区的类型分析状态，回答协议版本、快照、搜索路径、导入解析，以及计算类型 / 声明类型 / 期望类型等查询。会话通常先走 LSP 式初始化与文档同步，再调用 typeServer/getSupportedProtocolVersion、typeServer/getSnapshot，随后在快照约束下发查询；服务端可用 typeServer/snapshotChanged 通知结果失效。0.4.1 起还可协商只读的额外连接，供高并发查询，主连接仍独占会改状态的流量。[3]\n\n社区反应里的两点争议\n\n2026年10月27日凌晨，该协议文档链到 Hacker News 后引发讨论。有人认为名称过泛——协议目前面向 Python，却占用了「Type Server Protocol」这类通用名；也有人追问为何不直接做成 LSP 扩展或新版 LSP 能力。另有评论指出 basedpyright 维护者此前对 TSP 方向有批评，而 Astral 的类型检查器 Ty 则 reportedly 计划支持 TSP。这些都属于社区观点，不等于协议已成事实标准。[4]\n\n\n\n说明：TSP 仍处 0.x，次版本可能不兼容；文中功能与版本以微软博客及仓库规范为准。本文未实测切换流程。\n\n来源\n\n\n\n[1] Pylance + Pyrefly: bring your preferred type checker to Visual Studio Code，Microsoft for Python Developers Blog，Brett Cannon，2026年10月21日。\n\n\n\n[2] Pyrefly + Pylance Integration in VS Code，Pyrefly Team，2026年10月21日。\n\n\n\n[3] Type Server Protocol 规范，microsoft/pylance-release，查阅于2026年10月27日（北京时间）。\n\n\n\n[4] Hacker News: Type Server Protocol，讨论帖，约2026年10月27日02:14（北京时间）前后上线。\n\n#TypeServerProtocol #TSP #Pylance #Pyrefly #Python #VSCode #微软 #Meta","url":"https://www.angryecho.com/c/Python/p/P2TBBocLN5BkDkwEItbas","author":{"@type":"Person","name":"Douxx","url":"https://www.angryecho.com/u/P7H9321035"},"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/DislikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":0}]}]}
```

## Sitemap

See the full [sitemap](https://www.angryecho.com/sitemap.md) for all pages.
