VSCode 启动后一直显示正在初始化怎么办?扩展与缓存排查顺序
VS Code 打开后左下角一直显示“正在初始化”(Initializing Extensions / Setting up),几分钟不动、或反复出现,是最常见的一类启动故障。它几乎都和扩展宿主进程、工作区缓存、远程连接有关,而不是软件坏了。本文按定位顺序给出解法。

一、先分清是哪一种“初始化”
- 状态栏 “Initializing Extensions”:扩展宿主(Extension Host)在加载所有扩展,正常几秒到十几秒;
- “正在设置工作区/索引”:语言服务器(Python/Pylance、Java、clangd、TypeScript)在扫描项目建立索引;大仓库可能持续几十分钟;
- 远程开发(WSL/SSH/Dev Container)的初始化:正在远端安装/启动
vscode-server,卡在“正在初始化”通常是网络或远端磁盘满; - 右下角弹 “Visual Studio Code 更新后需要重新加载”:升级后的正常提示,直接 “重新加载窗口” 即可。
二、第一步:确认是谁在占(内置工具)
命令面板(Ctrl+Shift+P)执行:
- “开发人员: 显示运行进程”(Developer: Show Running Processes)——能直接看到哪个进程 CPU 高:
extensionHost、fileWatcher、ptyHost、sharedProcess; Ctrl+Shift+P → 开发人员: 切换开发人员工具→ Console 面板,报错都在这里;帮助 → 打开活动日志文件夹(或%APPDATA%\Code\logs\下最新目录)看window1/exthost/exthost.log与output_log_window.txt,能找到扩展抛出的具体异常。
三、最有效的三个排查手段
1. 无扩展模式启动(判定是否是扩展的锅)
code --disable-extensions
如果这样就正常了,说明某个扩展有问题。继续用二分法定位:帮助 → 打开扩展日志文件夹,或在 “扩展: 显示已启用的扩展” 里按最近安装顺序禁用一半,逐步缩小范围。最常见的三类元凶:语言扩展的索引(Pylance/Java Extension Pack/ccpp-tools)、Git 相关扩展、以及远端开发配套扩展(Remote-SSH/WSL)。
2. 重置工作区缓存
缓存目录:
Windows: %APPDATA%\Code\Cache、%APPDATA%\Code\CachedExtensionVSIXs、%APPDATA%\Code\User\workspaceStorage macOS: ~/Library/Application Support/Code/ Linux: ~/.config/Code/
workspaceStorage 里每个工作区一个哈希目录,删掉对应目录相当于清除该项目的状态(会丢调试配置历史,但代码不受影响)。损坏的缓存是“初始化无限转圈”的高频原因。
3. 文件监视器爆掉
项目里有 node_modules、.git、构建产物、大日志目录时,fileWatcher 会占满 CPU:
// settings.json
{
"files.watcherExclude": {
"**/node_modules/**": true,
"**/dist/**": true,
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/target/**": true,
"**/.venv/**": true,
"**/build/**": true
},
"search.exclude": { "**/node_modules": true, "**/dist": true }
}
Linux 下还会遇到系统上限:inotify: ENOSPC 报错。提高上限:
echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
四、远程/WSL 场景专项
WSL/SSH 连接卡在初始化,处理顺序:
- 远端磁盘满了:
df -h。vscode-server 装在~/.vscode-server(新版为~/.vscode-server/data),盘满时下载解压直接失败,日志表现为 “server install script failed”; - 删掉重来:
rm -rf ~/.vscode-server ~/.vscode-server-insiders,重新连接会重新下载; - 网络拉不到 server:企业代理环境可手动下载对应 commit 的
vscode-server-linux-x64.tar.gz(URL 在exthost日志里能看到 commit hash),解压到~/.vscode-server/bin/<commit>/; - Node 版本问题:远端有旧
node在 PATH 里干扰,server 自带 node 但被覆盖,用code-server --disable-watcher之类不是解法,正确做法是清理 PATH; - WSL 时钟漂移导致证书校验失败:
wsl --shutdown后重开 Windows 侧同步时间。
五、其它导致启动慢的原因
- 杀毒软件实时扫描扩展目录:把
%USERPROFILE%\.vscode\extensions与%APPDATA%\Code加入排除,效果非常明显; - 项目开在网络盘/OneDrive 目录:文件监视与索引在慢速 IO 上会放大数倍,改用本地目录;
- 设置同步/自动更新卡在下载:
"update.mode": "manual"关闭自动检查; - 装了多个 Insiders/中文版共存:日志与扩展目录不同,容易互相干扰;
- GPU 渲染异常:界面卡顿而非初始化,可用
code --disable-gpu验证; - 用户设置写错:
settings.json里非法 JSON(多逗号、少引号)会让部分扩展启动失败。命令面板 “首选项: 打开用户设置(JSON)” 看有无红色波浪线,或 “开发人员: 打开序列化问题” 工具查看冲突来源。
六、常见问题 FAQ
问:初始化一直转圈,但代码能看能改,要不要管?
答:要看是哪个进程在忙。只是扩展宿主慢,能忍则忍;若 CPU 长期高、界面明显卡顿,按第三节走一遍。
问:“正在初始化 Git 源代码管理提供者” 卡很久?
答:多为仓库过大或有海量未跟踪文件。加 "git.repositoryScanMaxDepth": 1、把无关目录加进 .gitignore;仍慢则禁用 “git.autorefresh” 试验。
问:能重装解决吗?
答:最后再考虑。重装会保留用户数据(配置在 %APPDATA%\Code),要彻底干净就同时删除 .vscode 与 %APPDATA%\Code(先把 settings.json/keybindings.json 备份出来)。
定位顺序记这条链:显示运行进程 → 判断哪类初始化 → --disable-extensions 二分 → 清 workspaceStorage → 加 watcherExclude → 远程则查磁盘与 server 目录。
生产内容,同时打通搜索引擎(SEO)与AI搜索引擎(GEO)流量入口的软件! 点击进入365建站器 »
