VSCode启动慢主因是插件冷启动时全量加载,应通过activationEvents和extensions.experimental.affinity机制控制:先用Developer: Show Running Extensions查activationTime超1000ms或状态为Activating的插件,再在settings.json中配置affinity为2实现延迟加载,优先处理GitLens、ESLint、Prettier等默认通配激活的插件。
VSCode 启动慢、响应卡,大概率不是硬件问题,而是插件在冷启动时被全量加载。控制插件启用不靠“开关”,而靠 activationEvents 和 affinity 两个机制——前者由插件自身声明,后者由编辑器强制调度。
很多插件默认“一开就活”,比如 Docker、GitLens、ESLint,它们的 activationEvents 配置若为 * 或缺失,就会抢占主进程初始化资源。
Cmd + Shift + P),执行 Extensions: Show Installed Extensions
Extension Settings
activationMode 或 When 字段;若值为 * 或未显式设为 onCommand/onLanguage:json 等,说明它会在启动时无条件激活settings.json,手动覆盖:例如 "gitlens.activationMode": "onCommand"
VSCode 1.86+ 支持 extensions.experimental.affinity 配置,不依赖插件自身适配,对老旧或未规范声明 activationEvents 的插件特别有效。
settings.json(Cmd + , → 右上角 {} 图标)"extensions.experimental.affinity": { "ms-vscode.vscode-typescript-next": 2, "esbenp.prettier-vscode": 2, "redhat.vscode-yaml": 2}
2 表示“延迟加载”,VSCode 将跳过初始化,仅在首次触发其功能(如打开 .ts 文件、执行格式化命令)时载入dart-code.dart-code)设为 2,否则语法高亮/跳转会失效UI 类和工具链类插件是启动拖慢主力,尤其当它们包含 Webview、远程连接或同步初始化逻辑时。
Live Server:开发中常用,但启动时会预占端口并监听;建议设为 onCommand
Auto Rename Tag:HTML/XML 场景才需,可设为 onLanguage:html
Bracket Pair Colorizer:已内置括号高亮,新版 VSCode 中建议直接卸载Code Runner:调试小脚本有用,但启动即加载运行时环境;设为 onCommand 更安全Project Manager),优先考虑用原生工作区功能替代真正影响启动速度的,从来不是插件数量,而是有多少插件在 main 进程里做同步初始化。延迟加载只是手段,关键得知道哪个插件在干啥、什么时候才真需要它——别让 docker 在你打开一个纯 Markdown 笔记时就开始拉镜像。