VSCode启动慢主因是插件默认全量加载。可通过四步优化:一、禁用非必要插件的自动激活;二、启用插件延迟加载(affinity设为2);三、按工作区分离专属插件;四、禁用或替换UI类插件。

如果您发现 VSCode 启动耗时过长,响应迟缓,很可能是由于插件在启动阶段被全部加载所致。VSCode 默认会在启动时初始化所有已启用插件,而部分插件体积大、依赖多或存在同步阻塞逻辑,会显著拖慢主进程初始化速度。以下是优化启动速度的具体策略与技巧:
本文运行环境:MacBook Pro,macOS Sequoia。
一、禁用非必要插件的自动激活
VSCode 提供 activationEvents 机制,允许插件声明仅在特定条件(如打开某类文件、执行某命令)下才被加载。但若插件未正确配置,或用户手动启用了大量插件,它们仍可能在启动时抢占资源。通过调整插件激活时机,可大幅减少冷启动负担。
1、打开 VSCode,按下 Cmd + Shift + P 调出命令面板。
2、输入并选择 Extensions: Show Installed Extensions。
3、在扩展列表右上角点击 ⋯ → Extension Settings,找到目标插件(如“Docker”、“GitLens”)。
4、在设置项中查找 "When" 或 "Activation Events" 字段,确认其值是否为 *(通配符);若是,说明该插件会在启动时无条件加载。
5、点击插件右侧齿轮图标 → Extension Settings → 编辑 settings.json,添加如下配置以延迟激活:
"docker.activationMode": "never",
"gitlens.activationMode": "onCommand",
二、启用插件延迟加载(Defer Activation)
VSCode 1.86+ 版本支持通过 workspace 或 user 设置强制延迟部分插件的初始化,直到用户首次触发其功能。该机制不依赖插件自身实现,而是由编辑器统一调度,对未适配 activationEvents 的插件尤为有效。
1、按下 Cmd + , 打开设置界面。
2、点击右上角 {}(Open Settings JSON) 图标。
3、在 settings.json 中添加以下键值对:
"extensions.experimental.affinity": {
"ms-vscode.vscode-typescript-next": 2,
"esbenp.prettier-vscode": 2,
"redhat.vscode-yaml": 2
},
4、其中数字 2 表示“延迟加载”,VSCode 将跳过这些插件的初始激活,仅在需要时按需载入。
三、分离工作区专属插件
不同项目对插件依赖差异极大:前端项目常需 ESLint 和 Prettier,而 Python 项目则依赖 Pylance 和 Jupyter。若所有插件均设为全局启用,每次启动无论打开何种项目都会加载全部插件,造成冗余开销。将插件绑定至特定工作区,可实现按需加载。
1、确保当前已打开一个文件夹工作区(而非空窗口)。
2、点击左侧活动栏的 扩展图标(方块拼图),在扩展搜索框上方切换至 Workspace 标签页。
3、找到目标插件(如“ESLint”),点击其右侧的 ⚙️ → Disable (Workspace)。
4、对该工作区重复操作,仅保留该项目真正需要的插件处于启用状态。
5、关闭并重新打开该文件夹,验证启动速度变化。
四、禁用 UI 类插件的启动参与
部分插件(如主题、图标包、状态栏增强工具)虽不处理代码逻辑,却在启动阶段注入 DOM 元素、监听窗口事件或读取大量资源文件,同样消耗主线程时间。这类插件通常无需早期介入,可安全推迟或限制其加载范围。
1、在扩展视图中筛选关键词 theme 或 icon,识别出当前启用的主题/图标插件(如“Material Icon Theme”、“One Dark Pro”)。
2、右键点击该插件 → Disable,然后重启 VSCode。
3、观察启动表现;若无明显视觉降级,可保持禁用;若有需要,改用 VSCode 内置主题(如 “Default Dark+”)替代。
4、如需保留自定义图标,可在 settings.json 中显式指定图标集路径,避免插件动态扫描整个文件系统:
"workbench.iconTheme": "vs-seti",










