禁用宽泛激活事件的插件是最快见效的提速手段,重点禁用声明了"*"、"onStartupFinished"或"onLanguage:json"等activationEvents的扩展,并通过Developer: Show Running Extensions和Startup Performance验证效果。

禁用宽泛激活事件的插件是最快见效的提速手段,80%以上的卡顿根源就在这里。
哪些插件该优先禁用
真正拖慢你的不是“用了什么”,而是“什么时候被加载”。重点排查声明了 "*"、"onStartupFinished" 或 "onLanguage:json" 这类宽泛 activationEvents 的扩展——它们会在 VSCode 启动时无差别加载,哪怕你当前只在写 Markdown。
-
Prettier:若没配.prettierignore,保存大 JSON 或 TS 文件时会阻塞主线程数百毫秒 -
ESLint:尤其启用eslint.validate: ["javascript", "typescript"]全语言扫描时,会持续占用 CPU -
GitLens:默认监听所有 Git 操作,即使项目没开 Git 也会预占进程和网络句柄 -
Auto Rename Tag:持续监听 DOM 树变化,在大型 HTML 文件中引发明显延迟 -
Remote - SSH、Docker等远程类插件:未连接时仍维持后台心跳和端口监听
怎么确认一个插件是否真在拖慢你
别靠感觉,用内置工具看数据:
- 运行
Developer: Show Running Extensions,重点关注 “Activation time” >100ms 且状态为Active却与当前任务无关的插件 - 运行
Developer: Startup Performance,看 “Start Delay” 列,数值越高的插件越该优先处理 - 终端执行
code --disable-extensions启动纯净版,如果启动时间或响应速度明显提升,说明问题确实在扩展层 - 打开
Developer: Open Process Explorer,观察 CPU / Memory 占用 Top 5 的进程是否对应某个扩展的 renderer 进程
禁用方式选 Disable (Workspace) 还是 Disable (For All Folders)
卸载是下策,禁用更安全、可逆、保留配置。关键区别在于作用域:
-
Disable (Workspace):仅对当前打开的文件夹生效,适合临时停用项目专属插件(如Vetur只在 Vue 项目里用) -
Disable (For All Folders):全局禁用,适合长期不用的通用型插件(如Live Server、Color Highlight) - 右键插件 → 点击对应选项即可,无需重启 VSCode;但部分插件需重新打开文件或切换标签页才真正释放资源
最容易被忽略的是:禁用后不验证效果。很多人点了禁用就以为完事了,结果插件仍在后台运行——务必回到 Developer: Show Running Extensions 确认状态已变为 Inactive,再对比启动耗时变化。复杂点在于某些插件(如 ESLint)的激活逻辑嵌套在语言服务器里,表面禁用后仍可能通过其他扩展间接触发。


















