VSCode 需安装 Microsoft 官方 Python 扩展(含 Pylance),禁用冲突扩展,配置 interpreter 路径、formatting/linting 工具及 launch.json 的 module 模式,否则调试、跳转、格式化等功能失效。

VSCode 本身不是 Python IDE,但装对扩展、配好设置,它比很多专用工具更灵活高效——关键不在“装什么”,而在“哪些配置不设就会踩坑”。
Python 扩展必须启用 python 而非 pylance 单独使用
pylance 是语言服务器,提供类型提示和跳转,但它依赖 python 扩展来激活解释器路径、调试支持和环境管理。只装 pylance 会导致 Debug 按钮灰掉、Ctrl+Click 跳转失败、venv 不被识别。
- 务必从官方商店安装
python(作者 Microsoft),它会自动带出pylance - 禁用其他 Python 相关扩展(如
Python for VS Code、Auto-Import等),避免与python扩展的语义分析冲突 - 重启 VSCode 后检查状态栏右下角:应显示当前 Python 解释器路径,例如
Python 3.11.9 (venv)
settings.json 里这 4 项不手动配,格式化和 lint 就会失效
VSCode 的 Python 格式化(black / autopep8)和 lint(pylint / flake8)默认不启用,必须显式指定可执行路径和触发时机。
-
"python.defaultInterpreterPath":设为绝对路径,比如"./venv/bin/python"(macOS/Linux)或".\\venv\\Scripts\\python.exe"(Windows),不能只写"python" -
"python.formatting.provider":选"black"或"autopep8",并确保对应命令在终端能直接运行(pip install black) -
"python.linting.enabled":必须设为true,再配"python.linting.pylintEnabled"或"python.linting.flake8Enabled" -
"editor.formatOnSave"和"editor.codeActionsOnSave":建议开启,但注意codeActionsOnSave若含source.organizeImports,需确认pylance已加载成功,否则保存时卡住
调试时 launch.json 的 module 模式比 file 更可靠
用 "request": "launch", "module": "my_package.main" 启动,等价于终端执行 python -m my_package.main,能正确处理相对导入、包内资源路径和 __main__.py;而 "program": "./src/main.py" 容易因工作目录不对导致 ModuleNotFoundError 或 ImportError。
立即学习“Python免费学习笔记(深入)”;
- 生成
.vscode/launch.json时选Python Module模板,别选Python File -
"module"值必须是可 import 的模块名,不是文件路径;确保当前文件夹在PYTHONPATH或已通过pip install -e .安装为可编辑包 - 如果项目有
src/结构,加"env": {"PYTHONPATH": "${workspaceFolder}/src"},而不是靠sys.path.append()临时补救
真正卡住人的从来不是“怎么装”,而是解释器路径没生效、launch.json 用错模式、或者 lint 工具装了却没在 settings.json 里连上——这些点不手动核对,VSCode 就只是个带高亮的文本编辑器。










