文件资源管理器卡在“正在加载”本质是渲染进程被阻塞,主因是files.watcherExclude配置错误或缺失导致监听器事件洪峰(如node_modules变更),需确保其写在工作区.vscode/settings.json中且格式为"/node_modules/",并检查inotify限制、禁用GitLens装饰或Remote-SSH登录终端等干扰项。

怎么看文件资源管理器卡在“正在加载”
文件树(Explorer)长时间显示“正在加载”或点击目录无响应,本质是渲染进程被阻塞,常见于监听器事件洪峰或扩展同步操作。VSCode 不会直接报错,但你能在 Developer: Open Process Explorer 里看到 Renderer 进程 CPU 持续 >70%、内存缓慢爬升,同时 Extension Host 占用异常高。
files.watcherExclude 配错就白忙活
文件树卡顿八成和监听器有关——它不是“画得慢”,而是被 node_modules 里几千个变更事件反复打断重绘。必须确保:
-
files.watcherExclude写在工作区根目录的.vscode/settings.json里,用户级设置不生效 - 每条规则末尾必须带
/**:"**/node_modules/**"✅,"**/node_modules"❌ - Linux 用户若
cat /proc/sys/fs/inotify/max_user_watches小于524288,要先调高,否则监听器自动降级为轮询,CPU 直接拉满 - macOS 上如果用了
fsevents仍卡,加"files.useExperimentalFileWatcher": false切回chokidar
禁用扩展后文件树还卡?查 GitLens 和 Remote-SSH
某些扩展会在文件树挂载阶段执行同步操作,比如 GitLens 的图标装饰、Remote-SSH 的远程路径映射,它们不走常规激活流程,--disable-extensions 也拦不住。实操建议:
- 先运行
code --disable-extensions --disable-gpu,确认是否恢复;若仍卡,说明是 VSCode 主逻辑或系统级监听问题 - 临时关闭 GitLens 的装饰:
"gitlens.filesExplorer.enabled": false - Remote-SSH 用户检查
remote.SSH.showLoginTerminal是否为true,设为false可避免每次打开都唤起终端进程 - 执行
Developer: Startup Performance,重点看explorer相关模块的activationTime,超 500ms 就值得怀疑
别信“刷新一下就好”,得重载整个工作区
改完 files.watcherExclude 或关掉某个扩展后,只关标签页或重启窗口大概率无效——VSCode 会复用旧的监听器句柄和缓存状态。必须:
- 关闭所有 VSCode 窗口(包括托盘后台进程)
- 重新用
code .打开工作区 - 观察左下角状态栏是否出现“Ready”字样,且文件树不再频繁闪烁“正在加载”
真正卡住的地方,往往藏在监听器句柄没释放、Git 插件还在后台扫 .git/index、或者某次失败的符号链接解析卡住了主线程——这些都不会报错,但会持续拖慢渲染帧率。



















