VSCode启动卡在转圈大概率是缓存损坏,需清理%APPDATA%CodeCache、CachedData、GPUCache及%LOCALAPPDATA%ProgramsMicrosoft VS CodeCache四个路径,切勿误删User、Extensions等配置目录。

VSCode启动卡在转圈大概率是缓存损坏
不是安装包问题,也不是系统权限不足,而是 %APPDATA%Code 或 %LOCALAPPDATA%ProgramsMicrosoft VS Code 下的缓存文件写坏或锁死。VSCode 启动时会读取 Cache、CachedData、GPUCache 等目录,一旦其中某个文件异常,主进程就会卡在初始化阶段,界面持续转圈。
实操建议:
- 先用命令行加
--disable-extensions启动:code --disable-extensions,如果能打开,说明扩展只是“触发器”,根因仍在缓存层 - 必须关闭所有 VSCode 进程(包括后台托盘里的
Code.exe和Code Helper.exe),可在任务管理器里确认是否完全退出 - 重点清理以下 4 个路径(Windows):
%APPDATA%CodeCache、%APPDATA%CodeCachedData、%APPDATA%CodeGPUCache、%LOCALAPPDATA%ProgramsMicrosoft VS CodeCache - 切勿删除
User、Extensions、workspaceStorage等配置目录,否则会丢失设置、登录状态和已安装插件
别乱删 .vscode 隐藏配置文件
macOS 或 Linux 下,项目根目录里以 . 开头的配置文件(如 .vscode/settings.json、.vscode/tasks.json)可能被隐藏,但 VSCode 会在启动时尝试加载它们。若这些文件格式错误、引用了不存在的路径、或含不兼容的旧版字段(比如 Java 扩展的 java.configuration.runtimes 写法过时),VSCode 就会卡在工作区加载阶段,左下角 JAVAPROJECTS 空白、右下角持续转圈。
排查方法:
- 新建空白文件夹,用
code .启动 VSCode,确认是否正常——如果正常,问题就出在原项目配置里 - 临时重命名项目下的
.vscode目录为.vscode.bak,再重启 VSCode 打开该目录 - 逐个恢复
.vscode下的文件,每加一个就重启一次,定位到具体哪个文件导致卡住 - 特别注意
settings.json中是否有指向已卸载扩展的配置项,或硬编码了本地绝对路径(如"python.defaultInterpreterPath": "C:\Python39\python.exe")
extensions.autoCheckUpdates 卡住启动流程
即使你没装新插件,VSCode 默认也会在启动时同步请求 marketplace.visualstudio.com 检测所有已安装插件的更新状态。内网断网、DNS 不可达、或公司出口策略拦截时,这个请求会卡住 10–30 秒,表现为窗口无响应、活动指示器持续旋转。
这不是插件本身慢,而是主进程在同步等待网络探测完成。UI 设置里关掉“自动检查更新”往往不生效,必须直改配置:
- 打开
settings.json(Ctrl+Shift+P →Preferences: Open Settings (JSON)) - 添加这两项(注意逗号分隔):
"extensions.autoCheckUpdates": false,"extensions.autoUpdate": false - 保存后必须彻底退出 VSCode(右键任务栏图标 →「退出」,或 Activity Monitor 强制杀掉所有
Code进程),再重新启动 - 如果公司统一部署了策略组(GPO/MDM),还需确认
extensions.gallery.serviceUrl是否被设为内网镜像地址;若未配置,可显式设为"https://marketplace.visualstudio.com"或留空
GPU 渲染缓存损坏引发白屏+转圈
%APPDATA%CodeGPUCache 是 Electron 渲染加速用的缓存,尤其在开启硬件加速(默认开启)时极易出错。损坏后不一定报错,但常见表现是:VSCode 窗口白屏、菜单栏不可点、右下角转圈不动、甚至鼠标悬停无响应。
这个缓存和其他缓存不同,删掉后首次启动会略慢(重建渲染上下文),但能避免大量 UI 层面的静默卡死:
- 关闭所有 VSCode 进程
- 直接删除
%APPDATA%CodeGPUCache整个目录(不是只清里面文件) - 不要试图“修复”它——GPU 缓存没有校验机制,损坏即失效,重置是唯一可靠方式
- 如果问题反复出现,可在启动时加
--disable-gpu参数临时绕过:code --disable-gpu,验证是否为 GPU 层问题
真正麻烦的不是哪一步操作难,而是多个缓存目录要一起清——只清 Cache 不清 GPUCache,或者忘了 %LOCALAPPDATA% 下那个主程序级缓存,都会让问题残留。清理完别急着验证,先等完整重启,再看转圈是否消失。


















