vscode启动慢主因是插件“假装干活”,尤其声明"*"或"onstartupfinished"的插件强制冷启加载;需用developer: show running extensions查activation time>300ms及非必要active插件,并针对性禁用或配置优化。

JS代码加载延迟不是VSCode慢,是插件在“假装干活”——尤其那些声明 "*" 或 "onStartupFinished" 的插件,一开就全拉起来,但你可能只在调试时才需要它们。
怎么看哪个插件在拖慢JS初始化
打开命令面板(Ctrl+Shift+P / Cmd+Shift+P),运行 Developer: Show Running Extensions。重点关注两列:
- “Activation Time” 超过 300ms 的插件,基本可判定为冷启动瓶颈
- “Active” 状态但你当前没打开任何
.js/.ts文件的插件,说明它靠"*"或"onStartupFinished"强行激活 - 点进插件详情页,看 “Activation Events” 字段——含
"onLanguage:javascript"属合理;含"*"就该优先怀疑
哪些JS相关插件最容易成性能黑洞
以下插件在真实项目压测中反复暴露高启动开销,非必要不启用:
-
JavaScript Booster:功能强但激活事件写死"*",首次启动必加载,且无配置项关闭预热逻辑 -
Auto Rename Tag:虽轻量,但在大型 JSX 文件中会监听所有属性变更,与 ESLint + Prettier 同时启用时易触发重绘抖动 -
Path Intellisense:默认扫描整个工作区找路径,遇到node_modules深层嵌套时会卡住 TS 语言服务初始化 -
ESLint插件若未配"eslint.run": "onType",默认"onSave"模式会在 JS 文件刚打开时就启动校验进程,和 TSServer 抢资源
用对配置比换插件更有效
很多“慢”其实源于插件没被正确约束。直接改 .vscode/settings.json:
- 给 ESLint 限流:
"eslint.run": "onType"+"eslint.validate": ["javascript", "typescript"],避免一开文件就扫全量 - 禁用 JS Booster 的自动提示(保留手动触发):
"javascriptbooster.enableLightbulb": false - 限制 Path Intellisense 范围:
"path-intellisense.mappings": { "/": "${workspaceFolder}/src/" },避开node_modules和dist - 强制 TypeScript 服务跳过类型检查库:
"typescript.preferences.suggestAutoImports": false,减少内存峰值
启动时临时禁用JS生态插件
调试或快速查看代码时,根本不需要格式化、重构、路径补全——用命令行启动最干净:
- Windows:
code --disable-extensions --disable-gpu --prof-startup - macOS/Linux:
code --disable-extensions --disable-gpu --prof-startup - 加
--prof-startup会生成cpu-profile-*.json,用 Chrome 的chrome://tracing打开,能精准看到require("eslint/lib/linter")或activate() in javascript-booster卡在哪一行
真正难处理的,是那些把 "activationEvents" 写进 package.json 却不提供开关选项的插件——它们不会出现在设置里,只能靠禁用或换替代品。这类插件往往更新停滞,但图标还亮着,最容易被忽略。











