Pylance
Pylance 是 VS Code 的 Python 语言服务器,提供智能代码补全、类型检查和代码导航功能。
#type / concept
#status / evergreen
#tech / dev
#resource / python
[!info] related notes
- 所属 MOC: python-moc, development-environment-moc
- 并列概念: ruff
- 相关工具: uv, python-environment-setup
Pylance
一句话定义
Pylance 是 Microsoft 为 VS Code 开发的高性能 Python 语言服务器,提供智能代码补全、类型检查、代码导航等功能,是现代 Python 开发体验的核心组件。
核心内容
解决什么问题
传统 Python 开发体验的问题:
- 代码补全不准确或缺失
- 类型检查困难
- 代码导航不便
- 缺乏实时错误提示
核心功能
智能代码补全:
- 基于类型推导的精准补全
- 函数参数提示
- 自动导入建议
类型检查:
- 实时类型错误检测
- 支持 Python 类型注解
- 可配置的严格程度(basic/strict)
代码导航:
- 跳转到定义
- 查找所有引用
- 符号搜索
与其他工具的配合:
- 与 Ruff 配合:Pylance 负责类型和逻辑,Ruff 负责格式化和 Linting
- 与 uv 配合:uv 管理环境,Pylance 自动识别 .venv
最小例子
安装
Pylance 是 VS Code 扩展,通过 VS Code 扩展市场安装:
- 打开 VS Code
- 搜索 “Python” 或 “Pylance”
- 安装 Microsoft 官方的 Python 扩展(包含 Pylance)
VS Code 配置
在 .vscode/settings.json 中配置:
{
"python.languageServer": "Pylance",
"python.analysis.typeCheckingMode": "basic"
}
类型检查模式
"off":关闭类型检查"basic":基础检查(推荐)"strict":严格检查
边界与易混淆点
与 Ruff 的分工
| 功能 | Pylance | Ruff |
|---|---|---|
| 代码补全 | ✅ 主要负责 | ❌ 不负责 |
| 类型检查 | ✅ 主要负责 | ❌ 不负责 |
| 代码导航 | ✅ 主要负责 | ❌ 不负责 |
| 代码格式化 | ❌ 不负责 | ✅ 主要负责 |
| Linting 检查 | ⚠️ 部分支持 | ✅ 主要负责 |
常见误解
- 误解:Pylance 和 Ruff 会冲突
- 事实:它们是黄金搭档,分工明确
- 误解:Pylance 只是代码补全
- 事实:Pylance 是完整的语言服务器,提供类型检查、导航等多种功能
适用场景
- ✅ 所有 Python 开发(强烈推荐)
- ✅ 需要智能代码补全和类型检查
- ✅ 使用 VS Code 进行 Python 开发
- ✅ 与 Ruff 配合,打造完整开发体验
相关链接
- Pylance 官方文档
- Ruff(配合使用的代码检查工具)
- uv(Python 工具链)