在vscode.dev中,不再支持侧载Web扩展,

mum43rcc  于 3个月前  发布在  Vscode
关注(0)|答案(7)|浏览(69)

这个问题是否在所有扩展都被禁用时发生?:否

  • VS Code 版本:vscode.dev
  • 操作系统版本:Windows 11

重现步骤:

  1. 在VS code桌面中安装Pylance,选择2023.9.31版本。
  2. 按照以下链接的说明:https://code.visualstudio.com/api/extension-guides/web-extensions#test-your-web-extension-in-vscode.dev 从VS code桌面中安装pylance扩展的位置提供服务。
  3. 打开vscode.dev
  4. 打开一个python文件并验证您可以获得智能感知
  5. 从vscode.dev卸载pylance
  6. 运行“开发者:从位置安装扩展”
  7. 重新加载vscode.dev
  8. 打开一个python文件
  9. Pylance将无法加载其其中一个捆绑包并崩溃。
    开发者工具控制台输出:
79874d59-83e5-4763-8825-c0bf340d597f:1  Uncaught DOMException: Failed to execute 'importScripts' on 'WorkerGlobalScope': The script at '[http://localhost:8080/dist/browser.async.bundle.js'](http://localhost:8080/dist/browser.async.bundle.js%27) failed to load.
    at blob:https://v--1q2ddt0bauqfd664tqvb3ovkstqglo7lmovj20v7m35ek7526hef.vscode-cdn.net/79874d59-83e5-4763-8825-c0bf340d597f:1:410
    at blob:https://v--1q2ddt0bauqfd664tqvb3ovkstqglo7lmovj20v7m35ek7526hef.vscode-cdn.net/79874d59-83e5-4763-8825-c0bf340d597f:1:415

这个星期之前还可以工作。

w80xi6nr

w80xi6nr1#

请确保您尝试从vscode.dev与在线存储库进行交互,而不是github.dev - (或者反过来 - 不确定哪一个与侧载一起工作,哪一个没有)

ee7vknir

ee7vknir2#

github.dev 不会尝试使用相同的设置加载扩展:

dsekswqp

dsekswqp3#

nvm,@boltex的解决方案有效👍(我猜我是在击中来自服务工作者的缓存之类的东西)。
github.dev仍然无法使用,但我不需要在那里进行侧载。

uxhixvfz

uxhixvfz4#

我相信Developer : install extension from location命令正在起作用,因为它只是添加了扩展位置。我怀疑加载扩展或设置扩展时存在问题。

gdx19jrr

gdx19jrr5#

扩展是通过VS code桌面安装的,然后从那里加载。失败的版本也是以同样的方式在9/27运行的。这意味着之前完全相同的步骤是有效的。

我的猜测是vscode.dev中发生了一些变化,不再允许从localhost加载工作线程。

7uzetpgm

7uzetpgm6#

现在无法在vscode.dev上进行测试。我还注意到,我不能使用这种方法测试/使用我的扩展:https://code.visualstudio.com/api/extension-guides/web-extensions#test-your-web-extension-in-vscode.dev
由于跨域原因,加载的每个资源都被阻止。请注意侧边栏上的图标以前是显示的,以及webview图像。
之前:

之后:

xxhby3vn

xxhby3vn7#

@rchiodo 这里是 #196922 提供的解决方案:
我找到了解决方案:现在需要设置 Cross-origin-Resource-Policy 头,而且在启动 npx serve 命令时,--cors 选项不再足够。它不再起作用了。
当你的扩展被提供时,需要在基础目录中放置一个包含以下内容的 serve.json 文件:

{
"headers": [
{
"source": "**",
"headers": [
{
"key": "Cross-Origin-Resource-Policy",
"value": "cross-origin"
},
{
"key": "Access-Control-Allow-Origin",
"value": "*"
}
]
}
]
}

也许还需要将其名称添加到 .gitignore 文件中。

相关问题