优化你的VSCode启动速度:插件加载策略与技巧

15次阅读

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

优化你的VSCode启动速度:插件加载策略与技巧

如果您发现 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、在扩展视图中筛选关键词 themeicon,识别出当前启用的主题/图标插件(如“Material Icon Theme”、“One Dark Pro”)。

2、右键点击该插件 → Disable,然后重启 VSCode。

3、观察启动表现;若无明显视觉降级,可保持禁用;若有需要,改用 VSCode 内置主题(如 “default Dark+”)替代。

4、如需保留自定义图标,可在 settings.json 中显式指定图标集路径,避免插件动态扫描整个文件系统:

“workbench.iconTheme”: “vs-seti”,

text=ZqhQzanResources