您现在的位置: 365建站网 > 365文章 > VSCode 启动后一直显示正在初始化怎么办?扩展与缓存排查顺序

VSCode 启动后一直显示正在初始化怎么办?扩展与缓存排查顺序

文章来源:365jz.com 点击数:10 更新时间:2025-09-04 03:34

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

VSCode 启动一直显示正在初始化怎么办

一、先分清是哪一种“初始化”

  • 状态栏 “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 连接卡在初始化,处理顺序:

  1. 远端磁盘满了:df -h。vscode-server 装在 ~/.vscode-server(新版为 ~/.vscode-server/data),盘满时下载解压直接失败,日志表现为 “server install script failed”;
  2. 删掉重来:rm -rf ~/.vscode-server ~/.vscode-server-insiders,重新连接会重新下载;
  3. 网络拉不到 server:企业代理环境可手动下载对应 commit 的 vscode-server-linux-x64.tar.gz(URL 在 exthost 日志里能看到 commit hash),解压到 ~/.vscode-server/bin/<commit>/;
  4. Node 版本问题:远端有旧 node 在 PATH 里干扰,server 自带 node 但被覆盖,用 code-server --disable-watcher 之类不是解法,正确做法是清理 PATH;
  5. 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建站器 »