vscode启动慢主因是缓存配置不当:extension host缓存(模块加载、扩展依赖)和renderer进程缓存(ui布局、侧边栏状态)被绕过或未清理;需启用hotexit与restorewindows、设置工作区信任、禁用自动更新,并精准清理cache目录。

VSCode 启动慢,八成和缓存配置不当有关——不是缓存没起作用,而是它被绕过了、用错了,或者压根没清理干净。
哪些缓存真正影响启动速度?
VSCode 有两类关键缓存直接影响冷启动和热启动耗时:Extension Host 缓存(模块加载路径、已解析的扩展依赖)和 Renderer 进程缓存(UI 布局、侧边栏状态、编辑器视图)。它们默认启用,但容易被以下操作破坏:
- 频繁修改
settings.json中的路径类配置(如files.associations、editor.defaultFormatter),触发扩展重激活,清空 Extension Host 缓存 - 禁用
files.hotExit或window.restoreWindows,导致每次重启都丢弃 Renderer 状态,UI 重新渲染 - 工作区未标记为 Trusted,强制执行额外安全检查,跳过部分缓存路径
如何确认缓存是否生效?
别猜,直接看日志。完全退出 VSCode 后,用命令行带参数启动:
code --prof-startup
启动完成后立刻执行 Developer: Startup Performance,重点看两列:
-
Require Time高的模块,说明缓存未命中(比如反复加载vscode-textmate或monaco-editor) -
Activation Time长的扩展,大概率因配置变更或信任缺失被迫重载
如果 “Extension Host” 总耗时 >800ms,且多个扩展显示 “Activated after startup”,基本可判定缓存策略失效。
必须改的三个缓存相关设置
这些配置写在用户级或工作区级 settings.json 中,能稳定提升二次启动速度:
- 确保
"files.hotExit": true和"window.restoreWindows": "all"同时启用——这是 Renderer 缓存复用的前提 - 对可信项目,显式设置
"security.workspace.trust.untrustedFiles": "open",避免每次打开都走全量校验 - 禁用自动扩展更新:
"extensions.autoUpdate": false,防止更新后 Extension Host 缓存整体失效(更新后首次启动必然慢)
注意:files.watcherExclude 不属于“缓存配置”,但它会间接保护缓存——排除 node_modules 后,文件监视器不崩溃,Extension Host 才有机会稳定运行并复用缓存。
缓存目录清理要精准,别误伤
缓存堆积会导致模块加载失败、白屏、扩展灰显,但乱删会丢配置。只清理以下位置:
- Windows:
%APPDATA%\Code\Cache(不是%APPDATA%\Code\User) - macOS:
~/Library/Caches/com.microsoft.VSCode(不是~/Library/Application Support/Code) - Linux:
~/.config/Code/Cache(不是~/.config/Code/User)
清理前必须完全退出 VSCode(托盘图标也要右键退出)。删完不用重装插件,Extensions 目录和 User 设置不受影响。
复杂点在于:缓存是否生效,取决于你有没有在“对的时间”做“对的事”——比如刚禁用一个 onStartup 扩展后立刻测启动时间,结果可能比之前还慢,因为旧缓存还在,新缓存还没生成。建议清理 Cache 后,至少重启两次再观察。











