vscode启动卡住通常由扩展加载失败、配置异常或缓存损坏引起。优先用code –disable-extensions测试,再检查settings.json、清理Cache/CachedData,排除node_modules监听干扰,并验证杀软、GPU、conda等系统因素。

VSCode 启动卡住不动,通常不是单一原因导致,而是多个环节在初始化阶段发生阻塞。最常见的是扩展加载失败、配置文件异常或缓存损坏。先从影响面最大、操作最简单的方向入手,能快速定位并恢复可用性。
检查是否是扩展导致的启动卡死
大量扩展,尤其是最近安装或自动激活的语言类、主题类、格式化类插件,容易在启动时崩溃或无限等待依赖,直接拖住整个进程。
- 终端运行 code –disable-extensions 启动 VSCode,如果此时能正常打开,基本可确认是扩展问题
- 打开命令面板(Ctrl+Shift+P),输入并执行 Developer: Show Running Extensions,查看 “Startup” 列为 “Yes” 的扩展,重点关注 python、typescript、ESLint、Prettier 等重量级插件
- 逐个禁用这些扩展,每次禁用后重启 VSCode 测试;也可先进入安全模式,再逐个启用,更快锁定问题源
排查用户配置与缓存异常
settings.json 错误、workspaceStorage 损坏或 globalStorage 膨胀,都可能导致 VSCode 在读取或解析阶段卡在某个 I/O 操作上,界面无响应但进程仍在运行。
- 找到用户配置目录:
windows:%APPDATA%CodeUser
macOS:~/Library/Application Support/Code/User
linux:~/.config/Code/User - 临时重命名 settings.json 或整个 User 文件夹,重启 VSCode。若恢复正常,说明原配置有冲突项
- 清理缓存:删除 Cache 和 CachedData 文件夹(路径同上一级目录);也可尝试新建测试数据目录:code –user-data-dir=/tmp/vscode-test
排除大型项目与文件监视干扰
打开含数万文件的项目(如带完整 node_modules 的前端工程),VSCode 默认会监听所有子目录变化。一旦系统 inotify 限制被突破或磁盘响应慢,就会卡在“正在加载工作区”状态。
- 在 settings.json 中添加排除规则:
“files.watcherExclude”: { “**/node_modules/**”: true, “**/dist/**”: true, “**/build/**”: true } - Linux 用户检查并提高监听上限:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p - 避免直接打开项目根目录,改用“文件 → 打开文件夹”选择更小的子模块目录
留意系统级干扰因素
杀毒软件拦截、GPU 渲染异常、远程开发连接挂起、Conda 环境扫描过多,都可能让 VSCode 停在某个后台任务上,表面看是“卡住”,实则是等待超时或资源锁死。
- 关闭杀软实时防护,临时以管理员身份运行一次(仅用于验证,勿长期使用)
- 启动时加参数测试:code –disable-gpu(规避显卡驱动问题)、code –disable-workspace-trust(跳过首次信任检查)
- 若使用 Python,检查是否因 Conda 环境过多导致语言服务器扫描卡顿:conda env list,删掉不用的环境并清理缓存:conda clean -a -y