VSCode 企业代理背后的 WebViewPanel

VSCode WebViewPanel behind corporate proxy

我正在使用 VSCode 的“C4 DSL 扩展”来显示我的架构图的预览。预览通过 WebviewPanel 呈现。源代码可以在这里找到:https://gitlab.com/systemticks/c4-grammar/-/blob/master/extension/src/c4-structurizr-preview.ts

它通过直接连接工作,但一旦连接到我的公司网络,所有请求都必须通过代理。 VSCode 本身通过 http_proxy 和 https_proxy 变量处理代理。但是,WebviewPanel 似乎没有采用这些设置。

下图显示了控制台的摘录。可以看到,查询“structurizr-embed.js”的请求失败了。

这种行为是故意的吗?我在 VSCode 中找不到允许 WebviewPanel 通过代理请求的设置。

注意:我使用的是 VSCode 的 Linux 版本。

我通过在 VSCode 中设置 http.proxy 变量找到了解决方案。我们正在使用代理身份验证,之前我以 http_proxy=http://<username>:<password>@<host>:<port>.

的形式导出了 http_proxy 环境变量

但是,VSCode 期望此变量没有凭据:http_proxy=http://<host>:<port>。现在我不明白它从哪里谈起凭据,但它确实有效。