先执行code --disable-extensions验证是否插件导致,若秒开则100%是扩展问题;再运行developer: show running extensions,重点排查activation time超100ms或状态为activating/activation failed的插件。

启动卡在“正在加载扩展”怎么办
这是最常见、也最容易定位的卡顿点,本质是某个扩展在 activate() 阶段执行了同步阻塞操作(比如未设超时的网络请求、fs.readFileSync 读大文件、或等待另一个未就绪的服务),直接挂起主 UI 线程。
- 先用
code --disable-extensions启动 —— 能进就是扩展问题 - 打开命令面板,运行
Developer: Show Running Extensions,重点关注 “Startup” 列为 Yes 且 “Activation Time” >100ms 的扩展 - 逐个禁用可疑项:优先查
esbenp.prettier-vscode、eamodio.gitlens、dbaeumer.vscode-eslint、ms-python.python(尤其带旧版 Pylance 的) - 临时重命名对应扩展目录(路径如
~/.vscode/extensions/esbenp.prettier-vscode-9.10.3→ 加.bak),比单纯禁用更彻底,避免激活逻辑残留
启动卡在“正在初始化窗口”或黑屏无响应
这通常不是代码逻辑问题,而是渲染层崩溃或 GPU 兼容性冲突,尤其在 Intel 核显、多显示器切换、远程桌面或 WSL2 环境下高频出现。
- 强制禁用 GPU 渲染:
code --disable-gpu --disable-gpu-compositing - Linux/macOS 下若仍卡,加
--disable-features=UseOzonePlatform;Windows 可试--disable-features=CalculateNativeWinOcclusion - 检查缓存是否损坏:重命名
~/.config/Code/Cache(Linux/macOS)或%APPDATA%\Code\Cache(Windows),让 VSCode 重建 - WSL2 用户确认
~/.wslconfig中已启用 GUI:[gui]下enabled=true
启用 Settings Sync 后启动变慢甚至卡死
同步服务会在启动早期拉取远程配置并逐项比对本地状态。一旦 GitHub 或 VS Code 后端响应延迟(国内网络常见),就会表现为长时间停留在空白界面或进度条不动,且日志里几乎不报错。
- 临时关闭同步:设置里搜
settings sync,关掉Sync: Enabled - 若必须开同步,避免在首次启动时自动恢复大量键位、片段和扩展 —— 先手动禁用部分非核心扩展,等窗口起来再启用
- 检查
~/.config/Code/User/globalStorage是否异常膨胀(尤其含大量github-auth或sync目录),可删掉后重启 - 不要把整个用户主目录或磁盘根目录作为工作区打开,这种操作会让同步逻辑扫描远超预期的路径范围
为什么改了 files.watcherExclude 还没用
这个配置只在**重新打开工作区**时生效,不是热更新。而且排除规则写错、层级没覆盖全、或系统 inotify 限制太低,都会让它形同虚设。
- 确保写法是
"**/node_modules/**": true,不是"node_modules/**"(漏掉**/前缀会导致子目录不生效) - Linux 用户运行
cat /proc/sys/fs/inotify/max_user_watches,低于524288就要提权修改:echo 524288 | sudo tee /proc/sys/fs/inotify/max_user_watches - macOS 用户若用 fsevents 仍卡,加配置
"files.useExperimentalFileWatcher": false - 删掉
.vscode/settings.json里重复或冲突的files.exclude,它和files.watcherExclude作用不同,别混用











