欢迎光临散文网 会员登陆 & 注册

VS Code 安装-网络(译)

2022-07-30 17:43 作者:凫水亿  | 我要投稿

本文章是up翻译的,侵权即删

VS Code内网络连接

VS Code 构建于  Electron(https://electron.atom.io/) 上层,收益于 Chromium(https://www.chromium.org/) 的所有网络栈功能。这意味着 VS Code 用户可在  Google Chrome(https://www.google.com/chrome/index.html) 中得到大量网络支持。

常见主机名

VS Code 一些特性需要网络通讯才能运行,比如自动更新机制,查询,安装扩展,以及遥测。为使这些特性正常运行在代理环境中,你必须将VS Code 配置正确。

如果在你正处于防火墙内,则需要允许 VS Code 使用特定的域名,以下列出了这些域名:

  • update.code.visualstudio.com - Visual Studio Code 下载和更新服务

  • code.visualstudio.com - Visual Studio Code 文档

  • go.microsoft.com - Microsoft 链接转发服务

  • vscode.blob.core.windows.net - Visual Studio Code blob 仓库, 用作远程服务

  • marketplace.visualstudio.com - Visual Studio 市场

  • *.gallery.vsassets.io - Visual Studio 市场

  • *.gallerycdn.vsassets.io - Visual Studio 市场

  • rink.hockeyapp.net - 崩溃提交服务

  • bingsettingssearch.trafficmanager.net - 产品内设置搜索

  • vscode.search.windows.net - 产品内设置搜索

  • raw.githubusercontent.com - GitHub 存储库原始文件访问

  • vsmarketplacebadge.apphb.com - Visual Studio 市场 badge 服务

  • az764295.vo.msecnd.net - Visual Studio Code 下载 CDN

  • download.visualstudio.microsoft.com - Visual Studio d下载服务, 为一些 VS Code 扩展(C++, C#)提供依赖

  • vscode-sync.trafficmanager.net - Visual Studio Code 设置同步服务

  • vscode-sync-insiders.trafficmanager.net - Visual Studio Code 设置同步服务 (内部)

  • vscode.dev - 被用来当一个扩展或者设置同步登陆 GitHub 或 Microsoft.

  • default.exp-tas.com - Visual Studio Code 实验服务, 用于提供实验性的用户体验

支持代理服务

VS Code 有 Google Chromium 一样的精确代理服务支持。以下是Chromium's 文档(https://www.chromium.org/developers/design-documents/network-settings) 的一个片段:

这意味着你的代理设置被自动配置。

除此之外,你可以使用以下命令行参数控制代理设置:

要了解更多关于命令行参数细节,请参阅  Chromium 网络设置(https://www.chromium.org/developers/design-documents/network-settings)

已认证代理

通过添加 PR #22369(https://github.com/microsoft/vscode/pull/22369) ,已认证的代理可以在 VS Code 中无缝的运行。

认证方法支持:

  • Basic

  • Digest

  • NTLM

  • Negotiate

在已认证的 HTTP 代理中使用 VS Code,认证弹窗应该呈现如下:

需要认证

注意 SOCKS5 代理认证还未被支持;你可以查阅 issue in Chromium's issue tracker(https://bugs.chromium.org/p/chromium/issues/detail?id=256785)

查阅  Chromium HTTP 认证(https://www.chromium.org/developers/design-documents/http-authentication) 了解更多 VS Code HTTP 代理认证。

SSL 证书

通常 HTTPS 代理会重写传入请求的 SSL 证书。Chromium 拒绝不信任证书的响应。如果你遇到任何 SSL 信任问题,以下几个选项可能对你有用:

  • 自从 Chromium 使用操作系统证书信任基础体系之后,添加偏好选项的方法是:在操作系统的信任链中添加代理证书。查阅  Chromium 根证书策略(https://www.chromium.org/Home/chromium-security/root-ca-policy) 了解更多细节。

  • 如果你的代理运行于 localhost ,你可以尝试使用 --allow-insecure-localhost (https://peter.sh/experiments/chromium-command-line-switches/#allow-insecure-localhost)命令行标志。

  • 如果其他所有的方法都失败了,还有一种最坏的办法,就是通过使用  --ignore-certificate-errors (https://peter.sh/experiments/chromium-command-line-switches/#ignore-certificate-errors)命令行标识符,忽略所有证书错误。警告:此操作很危险,而且我们不推荐这样做,因为它会引发安全问题


支持 Legacy 代理服务

扩展还没有从 VS Code 支持的代理中收益。你可以在 GitHub 中跟踪这个问题的进展。

与扩展类似,VS Code 一些其他的特性还没有完全支持代理网络,即 CLI interface。CLI interface 是,当从命令提示或终端运行 code --install-extension vscodevim.vim 你获得了什么。你可以在 GitHub(https://github.com/microsoft/vscode/issues/29910) 中跟踪这个问题的进展。

由于这两者的限制,http.proxy, http.proxyStrictSSLhttp.proxyAuthorization 变量仍然是 VS Code 设置的一部分,但在这两种情景中他们是唯一推崇的 (方式)。

疑难解答

这里有一些链接,有可能帮助你排解 VS Code 网络问题:

  • 网络设置

    https://www.chromium.org/developers/design-documents/network-settings

  • 使用网络代理调试问题

    https://www.chromium.org/developers/design-documents/network-stack/debugging-net-proxy

  • 在 Chrome 中配置 SOCKS 代理服务

    https://www.chromium.org/developers/design-documents/network-stack/socks-proxy

  • 代理设置和 fallback (Windows)

    https://www.chromium.org/developers/design-documents/network-stack/proxy-settings-fallback

up主能力有限,有些地方不通顺,或者出现错误,欢迎在评论区指正。

原文地址:https://code.visualstudio.com/docs/setup/network

B站不支持跳转站外链接,请复制到浏览器打开原文地址






VS Code 安装-网络(译)的评论 (共 条)

分享到微博请遵守国家法律