VSCode需装Python、Pylint、Black Formatter和Jupyter扩展,手动选择解释器路径,配置launch.json启用integratedTerminal并设justMyCode为true,切换语言服务器为Pylance以实现精准跳转。

VSCode 本身不是 Python IDE,但装对扩展、配好环境、用熟快捷键,它比很多专用 IDE 更轻快可控。
Python 扩展必须装这三样
只装官方 ms-python.python 不够,实际开发中会反复卡在 lint、debug、import 解析上。真正要开箱即用,还得补上:
-
ms-python.pylint(或ms-python.flake8,但 Pylint 对新手更友好,报错带修复建议) -
ms-python.black-formatter(自动格式化,避免手动调缩进和空格) -
ms-python.jupyter(哪怕不用 notebook,它提供的变量面板和 inline plot 支持对调试数值逻辑极有用)
注意:black-formatter 和 autopep8 别共存,VSCode 会冲突并静默失效——删掉后者,只留 black。
Python 解释器路径必须手动选一次
VSCode 不会自动识别你用 pyenv、conda 或系统自带的 Python。没选对解释器,import 报红、pip install 装到错环境、断点不触发,全是因为这个。
立即学习“Python免费学习笔记(深入)”;
操作路径:Ctrl+Shift+P → 输入 Python: Select Interpreter → 从列表里选带明确路径的项,比如:
/Users/you/.pyenv/versions/3.11.5/bin/python ~/miniconda3/envs/myproject/bin/python /usr/bin/python3
别选 “System Interpreter” 这种模糊名称;如果列表为空,先在终端确认 which python 或 pyenv which python,再用 Enter interpreter path... 手动粘贴。
调试时 launch.json 别直接抄模板
默认生成的 .vscode/launch.json 往往设了 "console": "integratedTerminal",看着像能输 input,其实会卡住——尤其遇到 input() 或需要交互式 stdin 的脚本。
改成这个配置才真正可用:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"module": "none",
"console": "integratedTerminal",
"justMyCode": true,
"env": {},
"args": [],
"stopOnEntry": false
}
]
}
关键点:
- 删掉所有
"cwd"字段,除非你明确要切换工作目录 - 加
"justMyCode": true避免跳进第三方库源码 - 如果脚本依赖相对路径读文件,用
args传参比改 cwd 更安全
Ctrl+Click 跳转不到定义?多半是没开 Pylance
官方 Python 扩展默认启用的是旧版语言服务器(Jedi),跳转慢、不支持类型提示推导、from . import xxx 常失败。换成 Pylance(微软出品,免费)后,跳转准、hover 显示类型、重命名跨文件生效。
开启方式:
- 确保已安装
ms-python.vscode-pylance - 打开设置(
Ctrl+,),搜python language server - 把下拉选项从
Jedi改成Pylance
注意:Pylance 对 pyproject.toml 中的 [tool.mypy] 或 [tool.pyright] 有响应,但不会读 setup.cfg —— 如果项目还在用后者,跳转可能仍不准。
最常被忽略的其实是 Python 解释器的“激活状态”:终端右下角显示的 Python 版本,和调试器用的、代码分析用的,三者必须一致。不一致时,错误提示和运行结果就对不上——这种问题没法靠重启解决,只能重新选一遍解释器。










