VSCode启动白屏或报Failed to fetch大概率是Cache或CachedData缓存损坏,应删除对应目录而非User Data;推荐先执行code --clear-window-state命令重置状态,再手动清理Cache和CachedData子目录。
VSCode 启动卡在白屏或报 Failed to fetch 怎么办
大概率是 cache 或 state 数据损坏,尤其在强制关机、升级失败或插件异常后。vscode 的缓存不清理不影响配置和扩展本身(它们存在 user data 目录里),但会显著影响启动速度和 ui 渲染稳定性。
手动删除 VSCode 缓存目录的路径和要点
不同系统缓存位置不同,直接删错目录可能丢掉设置。只清以下两个子目录即可:
-
Cache:存放渲染进程临时资源(如 Webview 缓存、字体映射),可安全清空 -
CachedData:存放语法高亮、符号索引等预编译数据,重启后自动重建
不要碰 Extensions、User、GlobalStorage —— 这些存着你的插件、设置、登录态。
各系统路径如下:
C:\Users\<用户名>\AppData\Roaming\Code\Cache C:\Users\<用户名>\AppData\Roaming\Code\CachedData
~/Library/Caches/com.microsoft.VSCode.Shipit ~/Library/Application Support/Code/CachedData
~/.config/Code/Cache ~/.config/Code/CachedData
用命令行快速清缓存(Windows/macOS/Linux 通用)
比手动找路径更可靠,且避免误删。打开终端执行:
code --disable-gpu --disable-extensions --no-sandbox --clear-window-state
这条命令不会删文件,但能重置窗口状态和部分内存缓存,对白屏/假死最有效。若仍无效,再配合手动删 Cache 和 CachedData 目录。
注意:--clear-window-state 是 VSCode 1.85+ 新增参数,旧版不支持;若提示未知参数,说明版本太低,先升级再操作。
为什么不能用 code --user-data-dir 代替清缓存
有人试过 code --user-data-dir=/tmp/vscode-test 启动干净实例,以为能绕过问题——这确实能启动,但只是「隔离」而非「修复」。原工作区的缓存损坏仍在,下次用默认路径启动还会复现。而且该方式不会触发 CachedData 重建逻辑,某些语言服务器(如 rust-analyzer)会因缺失索引而持续报错。
真正要解决启动故障,必须定位到具体损坏的缓存子目录并清除,而不是回避它。
缓存重建需要时间,首次启动可能稍慢,特别是大型工作区。别在重建中途关掉窗口,否则又得重来。










