确认python扩展拖慢启动需用code --disable-extensions验证,若秒开且语法高亮正常,则问题必在扩展;再查developer: show running extensions中ms-python.python的activation time是否超1500ms或长期卡在activating;可通过配置python.defaultinterpreterpath和python.terminal.launchargs禁用其默认重活,或添加extensions.experimental.ignoredextensions仅工作区忽略该扩展。

确认是不是 Python 扩展拖慢启动
别猜,直接验证:code --disable-extensions 启动 VSCode,如果秒开、Python 语法高亮和 IntelliSense 都正常(内置支持),说明问题 100% 出在扩展上。接着再运行 Developer: Show Running Extensions,重点看 ms-python.python 这一行的 Activation Time (ms) —— 超过 1500 就算异常;状态若长期卡在 Activating 或显示 Activation failed,基本就是它在阻塞主线程。
禁用前先关掉它的“默认重活”
旧版 ms-python.python 默认一打开任何文件(哪怕 .txt)就初始化 Python 环境,吃内存还不可跳过。不用卸载,改配置就行:
- 打开
settings.json(命令面板输入Preferences: Open Settings (JSON)) - 加这两行:
{
"python.defaultInterpreterPath": "",
"python.terminal.launchArgs": []
}
前者阻止自动探测解释器,后者禁用终端启动时的 Python 初始化。如果项目里真用不到 Python,还可以加:"extensions.experimental.ignoredExtensions": ["ms-python.python"](仅当前工作区生效)。
避免被其他插件连带拖垮
ms-python.python 常和 ms-toolsai.jupyter、ms-python.pylance 深度耦合,三者同时激活时,语言服务器协商、类型推导、符号索引会叠加耗时。常见现象是:单独禁用 Python 插件没用,但禁用 Pylance 后启动立刻变快。
- 检查
Developer: Show Running Extensions里ms-python.pylance的Activation Time是否也超 2000ms - 临时禁用 Jupyter 插件(即使你不用 notebook)——它会在后台预加载内核服务
- 不要同时启用多个 Python 格式化器(如 autopep8 + black + yapf),冲突会导致反复重试激活
清理残留缓存比重装更有效
Python 插件更新中断或校验失败后,会在 ~/.vscode/extensions/ 下留下 -cache 后缀的损坏目录(比如 ms-python.python-2024.12.0-cache),VSCode 会不断尝试加载它,导致 Extension host terminated unexpectedly 报错。
- 完全退出 VSCode(包括托盘进程)
- 执行命令删 cache 目录:
find ~/.vscode/extensions -name "*-cache" -type d -exec rm -rf {} +(macOS/Linux)Get-ChildItem "$env:USERPROFILE\.vscode\extensions" | Where-Object {$_.Name -match '-cache$'} | Remove-Item -Recurse -Force(Windows PowerShell) - 重启后它会自动重建干净缓存,首次打开略慢,但后续稳定
真正卡住你的往往不是功能本身,而是某个插件在没人注意时悄悄占着线程、读着大文件、连着失败的远程环境——这些动作不会报错,只会让整个编辑器变“钝”。每次优化后务必用 code --prof-startup 生成 profile 对比,否则你以为变快了,其实只是磁盘刚好空闲了一秒。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











