近日,开发者 msfterictraut 在 GitHub 上提交了一个名为 Pyrignt 的开源项目,这是一个 Python 的静态类型检查器,主要是为了解决 mypy 等现有的 Python 类型检查器无法解决的问题。
Pyright 的编写语言是 TypeScript,可在节点内运行,适用于大型 Python 源代码库,不需要安装 Python 环境或导入的第三方软件包,在与 VS Code 编辑器一起使用时,使用节点作为其扩展运行时。
相比于 mypy 等其它类型的检查器,Pyright 的速度可以达到 5 倍甚至更多,在“watch”模式下运行,在修改文件时执行快速增量更新。
Pyright 提供以下语言服务功能:
悬停显示类型信息的工具提示
符号定义的链接
在编辑期间智能优先级排队“实时”反馈
Pyright 实现了一种服务,可为语言服务器提供一个接口,当其拥有一个程序实例之后,将会跟踪配置文件和所有构成分析基础的源文件,跟踪多个 sourceFile 对象。每个源文件代表磁盘上一个 Python 源文件的内容,文件的整个分析状态,例如分析的每个中间结果、最终结果以及产生的诊断(警告和错误)都会一一跟踪到。同时,程序也会通过 importResolver 来解析每个源文件中引用的导入模块。
与微软官方支持的 Microsoft Python 语言服务器相比,Pyright 的特点在于其提供了一些独特的功能,如更多的可配置性、命令行执行和更好的性能。目前,Pyright 只发布了 1.0.1 版本,还处于需要大家积极建设贡献的阶段,感兴趣的小伙伴可以点击下方 GitHub 地址。
Pyright GitHub 地址:https://github.com/Microsoft/pyright
评论