vscode运行python慢的根源是终端启动、解释器加载、语言服务器响应和扩展干扰;最快配置为"python": "python -u -c \"import sys; exec(open(sys.argv[1]).read())\" --",需禁用缓冲、跳过初始化、避免shell解析,并配合精准的files.watcherexclude设置及工作区级配置重载。

VSCode 本身不“运行代码”,真正拖慢你点下绿色三角或 Ctrl+F5 后等待时间的,是终端启动、解释器加载、语言服务器响应和扩展干扰这四个环节。优化不是调参数,而是精准切断冗余路径。
code-runner 运行 Python 太慢?换掉默认命令
默认 "python": "python" 会触发 shell 路径查找、环境变量展开、模块缓存初始化,Windows 上每次多耗 300–500ms。实测最快命令是绕过 shell、禁用缓冲、直读执行:
-
python -u -c "import sys; exec(open(sys.argv[1]).read())" --—— 强制无缓冲(-u),跳过__main__.py导入流程,兼容 Python 3.7+ - 别用
$pythonPath或cd $dir && python:前者引入额外 shell 查找,后者多一次 fork + 目录切换 - 必须启用
code-runner.runInTerminal,否则输出面板无法处理含空格/中文路径的解释器 - 配置位置:工作区级
.vscode/settings.json中覆盖code-runner.executorMap整个字段
files.watcherExclude 配不全,CPU 就会持续 >70%
VSCode 的文件监视器(底层用 chokidar + inotify/FSEvents)一旦监听 node_modules 或 venv,就会为每个文件变更生成事件。几万个小文件 = 几万个事件 = 渲染线程被死锁,表现为打字卡、保存延迟、Git 状态刷新慢。
- 必须写在项目根目录的
.vscode/settings.json中(用户级设置无效) - 最低要求:
"**/node_modules/**": true、"**/venv/**": true、"**/__pycache__/**": true、"**/.git/**": true - Python 项目追加:
"**/.mypy_cache/**": true;前端项目加:"**/dist/**": true、"**/build/**": true - 改完后必须关闭并重新打开该工作区——缓存不刷新,配置不生效
终端启动卡住或报 exit code 9009?检查三处硬性依赖
右上角绿色三角点不动、终端空白、或弹出 Command failed with exit code 9009,根本原因不是代码错,而是运行链断在了前几步:
- 确认当前文件语言模式是
Python:按Ctrl+Shift+P→ 输入Change Language Mode,右下角应显示“Python” - 检查
python.defaultInterpreterPath是否指向明确路径(如/opt/homebrew/bin/python3),避免扩展每次启动都遍历PATH - 禁用
code-runner.preserveFocus,否则焦点留在编辑器,终端输出不可见 - WSL2 用户务必使用
Remote - WSL扩展,在 WSL 内启动 Code Server;禁止直接打开\wsl$路径下的项目,跨系统文件监视会导致输入延迟
最常被忽略的是:files.watcherExclude 和 code-runner.executorMap 必须同时配在工作区级 .vscode/settings.json,且修改后必须重开窗口——VSCode 不会热重载这两类配置,缓存不清理,再快的命令也跑不起来。











