Python开发必须配齐Python官方插件、Pylance和Ruff:Python插件是基础入口但默认启用低效Jedi服务;Pylance提供精准类型推断与源码跳转,需手动启用并安装typing_extensions;Ruff替代flake8+black实现毫秒级检查与格式化,但format功能须手动开启;三者均依赖正确Python解释器路径配置,否则类型推导、补全、lint全失效。

Python开发在VSCode里不装对插件,等于开着拖拉机跑高速——能动,但处处卡顿、跳转失灵、类型推导全靠猜。
Python扩展必须和Pylance配对启用
微软官方的Python插件只是入口,它默认启用的是基础语言服务(Jedi),补全慢、跳不到源码、Ctrl+Click常指向.pyi stub 文件。真正起作用的是Pylance——它提供类型感知、快速定义跳转、参数提示精度高,且依赖typing_extensions包做底层支持。
- 装完
Python插件后,务必手动安装Pylance(ID:ms-python.pylance) - 项目中运行
pip install typing_extensions,否则泛型推导会降级 - 检查设置里
python.languageServer是否为Pylance(不是Default或Jedi) - 如果
import numpy后点不进源码,大概率是Pylance没生效或解释器选错
Ruff替代flake8+black,但format默认关闭
Ruff是当前最快最轻量的Python LSP工具,单次全项目扫描只要200–400ms,而flake8+black组合启动慢、冲突多、配置分散。但它不会自动格式化——这个功能默认是关的。
- 安装
Ruff插件后,进VSCode设置搜ruff.format.enable,勾选启用 - 若同时启用了
editor.formatOnSave,保存时才会触发Ruff格式化 -
Ruff不兼容black的--skip-string-normalization等冷门选项,别混用配置文件 - 项目根目录放
ruff.toml比pyproject.toml里嵌套更稳定,尤其在poetry环境中
解释器选错,Pylance和Ruff全失效
Python: Select Interpreter不只是为了运行代码——它是Pylance读取site-packages、解析第三方库类型、Ruff校验路径的基础。选错解释器,你会看到“未解析的导入”、类型标红、from xxx import yyy补全空白。
立即学习“Python免费学习笔记(深入)”;
- 用
conda环境:确保选的是envs/xxx/bin/python(macOS/Linux)或Scripts\python.exe(Windows) - 用
poetry:先运行poetry env info --path,再把输出路径粘贴进VSCode解释器选择框 - 选完后看右下角状态栏,显示的Python版本应与终端中
which python一致 - 如果刚创建虚拟环境就看不到它,重启VSCode或执行
Developer: Reload Window
最容易被忽略的其实是环境隔离粒度:一个工作区里混用系统Python、conda base、多个poetry env,会导致Pylance缓存混乱、类型提示漂移。建议一个项目目录只绑定一个解释器,且在.vscode/settings.json里硬编码python.defaultInterpreterPath。


















