错误加载 webview: 错误: 无法注册服务工作者: TypeError: 未能注册 ServiceWorker 作用域

当我更新我的 VSCode 到 v1.56.2并打开 webview 时,我会收到以下信息:

加载 webview 时出错: 错误: 无法注册服务工作者: TypeError: 未能为范围注册 ServiceWorker (‘ vscode-webview://867f875b-c5a3-4504-8de2-2e8614bdc0f8/’) (“ vscode-webview://867f875b-c5a3-4504-8de2-2e8614bdc0f8/service-worker. js? Platform = Electronic & id = 867f875b-c5a3-4504-8de2-2e8614bdc0f8 & vscode-resource-source = https% 3A% 2F% 2f867f875b-c5a3-4504-8de2-2e8614bdc0f8.vscode-webview-test.com”) : 无法启动 ServiceWorker。

我怎样才能解决这个问题?

121440 次浏览

这是一个 VS 代码1.56中的已知错误。它发生在一些 Windows 用户作为管理员运行 VS 代码时

作为一种解决方案,您可以尝试启动带有 --no-sandbox命令行标志的 VS Code:

$ code --no-sandbox

我遇到了这个问题,我是 不是 Windows 用户,所以这是我的解决方案:

我发现有一个 VS 代码打开的实例错误地没有显示在我的码头上。我关闭了这个实例并打开了一个新实例。问题解决了。

我认为发生这个问题是因为我打开了一个 VS Code 实例,允许软件更新在后台运行,推迟了重启,打开了一个新的和更新的 VS Code 实例,而旧的实例仍然打开,导致了冲突。

OS: Ubuntu 20.04.2 LTS 操作系统: Ubuntu 20.04.2 LTS

GitHub 上的@tritemio 有一个很棒的答案:

Https://github.com/microsoft/vscode/issues/125993#issuecomment-912439561

简而言之,删除缓存文件夹:

rm -rf ~/.config/Code/Cache

如果您正在使用 Ubuntu,那么可能存在另一个(也许是隐藏的) vscode 进程,这就是问题的根源。

试试 killall code

@ tritemio 谢谢分享。

这似乎也解决了我在 Windows 上的“扩展-细节视图”、“ VS 代码发布注释视图”、“ Gitlab 集成交互式基础编辑器”等问题。

我按照您的建议,删除了以下文件夹;

  • 代码内部人缓存
  • 代码内部人代码缓存

在 Windows 中,您可以通过清除 VSCode 的缓存来简单地修复此错误。请按照以下步骤:

  1. 关闭 VSCode 并杀死任务管理器中运行的所有后台进程。译自: 美国《科学》杂志网站(http://i.stack.imgur.com/fTS4k.png)原著: http://i.stack.imgur.com/fTS4k.png

  2. 转到文件资源管理器和路径 C:\Users\<user_name>\AppData\Roaming\Code,清除文件夹 Cache, CachedData, CachedExtensions, CachedExtensionVSIXs (if this folder exists) and Code Cache的内容。

  3. 打开 VSCode 就可以了。

我也遇到了同样的“错误加载网页视图”错误。 我已经通过在 MacOS上将“ vscode.app”移动到“ Application 文件夹”而不是“ Download file”来解决这个问题。

我在这里描述一下我的“症状”。

  1. 操作系统: macOS 12.0.1
  2. 以某种方式安装了2个版本的 vscode,1个在“应用程序文件夹”下,另一个在“下载文件夹”下
  3. 同时运行两个 vscode,“下载文件夹”版本没有错误显示插件页面,“应用程序文件夹”版本有“错误加载 webview”错误
  4. 检查并查看在后台运行的2个 vscode 实例

我试图解决这个问题:

  1. 尝试杀死“下载文件夹”实例,错误仍然是“应用程序文件夹”实例
  2. 将“下载文件夹”移动到“应用程序文件夹”,两个 vscode 在插件页面上都能正常工作!

我怀疑问题出在哪里?

也许这两个 vscode 共享相同的资源(可能是某个共享文件) ,但是它们有不同的权限,因为一个在应用程序文件夹下,另一个在下载文件夹下。

当我在 windows cmd 中开始编写代码时就发生了这种情况。关闭 vs 代码并从我的任务栏快捷方式打开它,错误消失了

对于这个问题,在任何版本的 Linux 中,最简单的解决方案就是关闭 VS 代码的其他实例,并且只使用 VS 代码的一个实例。 操作系统: Linux 20.04.3 LTS

对于 Mac/Apple 电脑的 Monteray 版本,以下步骤对我很有效:

  1. 从下载文件夹中删除 VSCode。

  2. 关闭 VSCode

  3. 打开活动监视器并删除 VSCode“代码”进程。

VSCODE CODE PROCESS

在 * nix 系统上,首先关闭 VS Code 应用程序,然后运行 pgrep -f '/Applications/Visual Studio Code.app' | xargs kill来清理 vscode 的进程。重新打开 vscode,问题就会消失。

如果在 macOS 上,可以逐字运行上面的命令。如果您不在 macOS 上,或者不在其他位置安装 vscode,则需要更改传递给 pgrep的参数。您可以运行 ps auxww | command grep -i --color code来查找 vscode 正在运行的进程的路径。

如果在 Firefox 或 Brave 浏览器中使用 GitHub 代码空间中的 VSCode,这个答案也适用。我不得不为网站禁用“增强跟踪保护”,仅此而已。为此,请单击显示的网址左侧的盾牌图标。

尝试关闭 vscode 的所有进程 cmd+q并重新打开 vscode,一切都会很好。

我刚刚重新启动 VS 代码,它为我工作。操作系统是 Windows 10。