0

0

VSCode启动卡住原因分析_解决VSCode启动卡顿问题

夜晨

夜晨

发布时间:2026-01-10 16:21:08

|

676人浏览过

|

来源于php中文网

原创

VSCode启动卡在“正在加载扩展”界面,主因是扩展激活时执行阻塞操作;其次为杀软拦截、错误配置或storage.json损坏,需按顺序排查。

vscode启动卡住原因分析_解决vscode启动卡顿问题

VSCode 启动卡在“正在加载扩展”界面

这是最常见卡顿场景,本质是某个扩展在激活阶段执行了阻塞式操作(如同步网络请求、大文件读取、未加超时的 fs.readFileSync),导致主进程挂起。VSCode 1.80+ 已默认启用扩展主机沙箱,但旧版或禁用沙箱后仍易触发。

  • 快速验证:启动时加 --disable-extensions 参数,若秒开则确认为扩展问题
  • 定位罪魁:启动后立即打开命令面板(Ctrl+Shift+P),运行 Developer: Show Running Extensions,观察哪些扩展长期显示“Activating…”
  • 临时隔离:在 ~/.vscode/extensions/ 中重命名可疑扩展目录(如 esbenp.prettier-vscode-9.10.3esbenp.prettier-vscode-9.10.3.disabled),重启测试
  • 注意:部分扩展(如 ms-python.python)首次激活会预编译语言服务器,耗时属正常,但不应超过 15 秒;超时即需排查其日志

Windows 上因杀毒软件拦截 Code.exenode.exe

尤其在企业环境,Windows Defender 或第三方杀软(如 McAfee、Symantec)会对 VSCode 主进程及其子进程(尤其是 node.exe 扩展主机)反复扫描,造成大量 I/O 等待,表现为启动后 CPU 占用低但无响应。

  • 检查方法:任务管理器中查看 Code.exe 和子进程 node.exe 的“磁盘”列是否持续 100%,右键“打开文件位置”确认路径是否被杀软标红
  • 解决方案:将 VSCode 安装目录(如 C:\Users\name\AppData\Local\Programs\Microsoft VS Code)及用户数据目录(C:\Users\name\AppData\Roaming\Code)加入杀软白名单
  • 关键点:必须同时放行 Code.exe 和其调用的 node.exe(位于 resources\app\out\vs\workbench\services\extensions\node_modules.asar.unpacked\vscode-js-debug\lib\extension\debugAdapter.js 等路径下)

settings.json 中配置了高开销的全局搜索或文件监听

某些看似无害的设置会在启动时触发全盘扫描,例如 "files.watcherExclude" 配置错误、或 "search.exclude" 使用了通配符但路径不存在,导致 VSCode 底层 chokidar 尝试遍历无效路径。

Sider
Sider

多功能AI浏览器助手,帮助用户进行聊天、写作、阅读、翻译等

下载
  • 典型错误配置:
    "search.exclude": {
      "**/node_modules": true,
      "**/dist": true,
      "/home/user/project/**": true
    }
    ——末尾路径为绝对路径且不存在,VSCode 会尝试解析并递归检查,卡死在 fs.stat
  • 安全写法:所有 exclude 规则必须是相对路径模式(用 **/xxx),避免出现 /full/path/C:\\path\\
  • 验证方式:临时重命名 settings.jsonsettings.json.bak,用默认配置启动;若恢复流畅,逐条注释原配置定位问题项

用户数据目录损坏导致 workspaces.jsonstorage.json 解析失败

VSCode 启动时需加载工作区历史和 UI 状态,若 storage.json(存储扩展状态、窗口布局等)因异常关闭而损坏,JSON 解析会卡住或抛错但不报 UI 提示。

  • 路径定位:~/.vscode/storage.json(Linux/macOS)或 %APPDATA%\Code\storage.json(Windows)
  • 修复步骤:关闭 VSCode → 备份原 storage.json → 删除它 → 重启 VSCode(会自动生成新文件,丢失上次窗口布局但可接受)
  • 进阶检查:用 jq 或在线 JSON 校验工具打开 storage.json,确认是否含非法字符(如未转义的换行、BOM 头、UTF-8 编码错误)
  • 预防:禁用自动保存工作区到云端("workspaces.experimental.cloud 设为 false),减少跨设备同步引发的格式冲突

真正难排查的往往是组合问题:杀软 + 某个扩展的初始化逻辑 + 用户目录里一个损坏的 storage.json。建议按顺序逐项排除,别跳步。每次修改后务必完全退出 VSCode(包括系统托盘进程),再重新启动验证。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

745

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

634

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

757

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

617

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1259

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

547

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

577

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

705

2023.08.11

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

25

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.9万人学习

Git 教程
Git 教程

共21课时 | 2.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号