微软宣布推出一种新的 Python 语言服务器,名为 Pylance,其可利用语言服务器协议与 VS Code 进行通信。Pylance 这个名字是对 Monty Python 的 Lancelot 的致敬,Lancelot是亚瑟王和圆桌骑士中的第一位勇士。
Visual StudioPython 语言服务器和 Python 程序经理Savannah Ostrowski表示,Pylance 现在作为 Visual Studio Marketplace 的扩展提供,它 “极大地改善了 Visual Studio Code 中的 Python 体验。”
早在 2018 年,微软的 Python 团队就发布了 Python 语言服务器,将 Visual Studio 丰富的 Python IntelliSense 支持引入了 VS Code。现如今,微软则表示,在过去的几个月中,他们已经对语言服务器进行了更新,以改进其性能并使开发人员能够编写最佳代码,而这项工作的成果就是新的 Pylance 语言服务器。
据介绍称,Pylance 是以微软的静态类型检查工具 Pyright 作为基础开发的全新的语言服务器,利用类型 stubs(.pyi 文件)和惰性类型推断来提供高性能的开发体验。Pylance 通过丰富的类型信息增强了用户的 Python IntelliSense 体验,可帮助用户更快更好地编写代码。Pylance 扩展还随附了热门模块的形态存根档(Type Stub)集合,以提供快速、准确的自动完成和类型检查。
Pylance 提供的一些关键功能包括有:类型信息、自动导入、类型检查诊断和多根工作区支持。
微软表示:“Pyright 的类型检查功能和语言功能现在已合并到称为 Pylance 的 VS Code 扩展中,这是 Microsoft 官方支持的 Python 语言服务器”。
“Pylance 旨在与 VS Code 的 Python 扩展一起使用。除 Pyright 的功能外,Pylance 还增加了与 IntelliCode 的若干高级功能的兼容性,以实现 AI 辅助完成。如果你是 VS Code 的用户,我们建议你卸载 Pyright 然后安装 Pylance,从而你将获得 Pyright 的所有好处以及更多。”
此外,微软还警告用户不要同时安装 Pyright 和 Pylance,否则将会导致重复的错误。
在未来发展方面,微软则透露,Pylance 代表了 VS Code 中 Python 方面的巨大改进,团队为此投入了数月的时间。新的语言服务器可提供更高的性能和更多功能,团队的重点将转移到 Pylance,并继续对其发展。
短期内,在 VS Code 中编写 Python 时,用户仍然可以继续使用微软 Python 语言服务器。但该公司的长期计划是将所有用户都迁移到 Pylance,最终弃用并删除旧的语言服务器。
更多详细信息可查看官方博客。