在使用 VS Code开发时,由于常使用cc或codex插件,经常在打开的时候遇到 Web 视图无法加载的问题,页面都变成一片空白,右下角弹出报错:
问题原因
这个问题主要是因为编辑器底层的某些后台进程卡死,导致 Electron / Chromium 无法正常注册 ServiceWorker,上下文状态出现失效。网上有一些改沙盒配置的方案,但实际测试下来,最直接也最有效的办法就是把残留的后台进程彻底关掉。
解决办法
不需要改配置文件,也不需要敲命令行,直接在任务管理器里结束相关进程即可。
操作步骤:
打开任务管理器,在搜索栏输入 code,会看到“应用”和“后台进程”里都有相关项,关键是要把下面的后台进程也全部关掉,全选或逐个右键选择“结束任务”。然后再次打开 VS Code,Webview 就可以正常加载了。
其他无效方案参考
在找到上面的办法之前,我也试过网上常见的几种处理方式,在我的环境下都没有效果,供参考:
1.简单关闭软件再打开:直接点右上角 X 关闭,后台卡死的进程其实没有释放,重新打开依然报错。
2.命令行使用 --no-sandbox 启动:终端运行 code --no-sandbox,没有解决。
3.修改 argv.json 禁用沙盒:
在 Ctrl + Shift + P 命令面板打开 Preferences: Configure Runtime Arguments,添加 "disable-chromium-sandbox": true 后重启,同样没有效果。
总结
遇到这种 InvalidStateError 报错,大概率是后台有卡住的残余进程。不用想得太复杂,直接在任务管理器里把所有相关进程清干净,重新打开软件即可。
