先执行code --disable-extensions验证是否插件导致,若秒开则问题100%在扩展;再运行Developer: Show Running Extensions,重点查看Activation Time超150ms或CPU%持续跳动的插件,结合code --status确认真实激活耗时。

怎么看哪个插件正在拖慢主线程
直接打开 Developer: Show Running Extensions,重点盯住两列:Activation Time (ms) 和 CPU %。启动时间超 150ms 的插件(比如 ms-vscode.js-debug 或 gitlens.gitlens),基本在界面还没渲染完时就占着主线程;而 CPU % 持续跳动、内存长期 >200MB 的,说明它在后台干重活——不是“已加载”,而是“正运行”。状态显示 Activated 但耗时为 0?大概率只是注册了事件,还没触发;Running 且 CPU 波动明显,才是真正在吃资源。
用 code --disable-extensions 快速验证是不是插件问题
别等编辑器转圈。关掉所有窗口,在终端执行:
code --disable-extensions
秒开且打字、跳转、滚动都正常,问题 100% 出在扩展上。这个命令不改配置、不卸载插件,只临时绕过全部用户扩展,比手动禁用快得多也更干净。验证后顺手再跑一次 code --status,输出里 Extensions 区域会标出每个插件的真实激活耗时,比 GUI 面板更准。
查 CPU 疯涨时该进哪个面板
Developer: Open Process Explorer 是唯一能看清“谁在疯跑”的入口。打开后重点关注 CPU % 列:长期 >30% 的 Extension Host 行,右键 → Copy Process Info,粘贴看命令行里有没有 esbenp.prettier-vscode、ms-python.python 或 dbaeumer.vscode-eslint。注意:Disable 插件 ≠ 停止进程,必须完全关闭当前窗口(macOS 要退出菜单栏图标),再重新打开项目才生效;Developer: Reload Window 对已驻留的进程无效。
为什么调了配置还卡?files.watcherExclude 容易写错
监听 node_modules 这种目录是系统级泄漏源头,不是插件本身慢。正确写法必须是:
"**/node_modules/**": true
漏掉开头的双星号 **、写成 /node_modules/ 或 *node_modules* 都无效。改完后必须关闭并重新打开工作区,仅保存 settings.json 不会加载新规则。Linux 用户若仍卡顿,检查 cat /proc/sys/fs/inotify/max_user_watches,低于 524288 就得调高——否则 chokidar 会持续耗尽 inotify 句柄。



















