这个仓库是 pyright
,它是一个功能齐全、基于标准的 Python 静态类型检查器,专为高性能设计,可用于大型 Python 源代码库。以下是对该仓库的详细介绍:
主要功能
- 静态类型检查:对 Python 代码进行静态类型检查,帮助开发者在编码阶段发现潜在的类型错误,提高代码的健壮性和可维护性。
- 高性能:设计上考虑了性能优化,能够处理大型的 Python 代码库。
可用工具和扩展
- 命令行工具:可以通过命令行对 Python 代码进行类型检查,详细使用说明可参考 命令行工具文档。
- VS Code 扩展:为 Visual Studio Code 提供了集成的类型检查功能,可在 VS Code 市场 中安装。
在线体验
提供了 Pyright Playground,可以在浏览器中直接尝试使用 Pyright 进行类型检查。
文档和社区支持
- 文档:包含了安装、配置和使用的详细信息,可参考 文档页面。
- 社区讨论:如果对 Pyright 或 Python 类型注解有疑问,可以在 讨论区 提问。
- 问题反馈:如果发现了 bug 或有功能增强的需求,可以在 pyright 或 pylance-release 的 issue 跟踪器中提交新问题。
代码结构
仓库的主要文件和文件夹结构如下:
.eslintignore
.eslintrc.json
.gitattributes
.gitignore
.prettierignore
.prettierrc
CONTRIBUTING.md
LICENSE.txt
README.md
SECURITY.md
lerna.json
package-lock.json
package.json
tsconfig.json
.github/
ISSUE_TEMPLATE/
actions/
workflows/
packages/
pyright-internal/
pyright/
vscode-pyright/
docs/
.nojekyll
README.md
_navbar.md
_sidebar.md
build-debug.md
builtins.md
ci-integration.md
command-line.md
commands.md
comments.md
configuration.md
features.md
...
build/
...
.vscode/
...
关键代码模块
- CacheManager:负责管理缓存,包括缓存的注册、使用统计、清空等操作,代码位于
pyright/packages/pyright-internal/src/analyzer/cacheManager.ts
。 - importStatementUtils:用于解析 Python 代码中的
import
和from ... import
语句,代码位于pyright/packages/pyright-internal/src/analyzer/importStatementUtils.ts
。 - workspaceFactory:定义了工作区的类型和创建逻辑,代码位于
pyright/packages/pyright-internal/src/workspaceFactory.ts
。
贡献和行为准则
- 贡献建议:欢迎对项目进行贡献和提出建议。对于功能和复杂的 bug 修复贡献,建议先与维护者讨论再提交拉取请求。大多数贡献需要同意贡献者许可协议(CLA)。
- 行为准则:项目采用了 Microsoft 开源行为准则,如有疑问可联系 opencode@microsoft.com。