Visual Studio Code 中的网络连接
Visual Studio Code 建立在 Electron 之上,并且得益于 Chromium 的所有网络堆栈功能。这也意味着 VS Code 用户可以得到与 Google Chrome 相同的大部分网络支持。
常见主机名
VS Code 中的一些功能需要网络通信才能正常工作,例如自动更新机制、查询和安装扩展以及遥测。为了在代理环境中这些功能能够正常工作,您必须正确配置产品。
如果您身后有需要允许 VS Code 使用的特定域的防火墙,请允许以下主机名进行通信:
更新.code.visualstudio.com- Visual Studio Code 下载和更新服务器code.visualstudio.com- Visual Studio Code 文档go.microsoft.com- Microsoft 链接转发服务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 仓库原始文件访问vsmarketplacebadges.dev- Visual Studio 市场徽章服务*.vscode-cdn.net- Visual Studio Code CDNvscode下载.prss.microsoft.com- Visual Studio Code 下载 CDNdownload.visualstudio.microsoft.com- Visual Studio 下载服务器,为一些 VS Code 扩展(C++,C#)提供依赖。vscode-sync.trafficmanager.net- Visual Studio Code 设置同步服务vscode-sync-insiders.trafficmanager.net- Visual Studio Code 设置同步服务(内部测试)vscode.dev- 作为在使用 GitHub 或 Microsoft 登录扩展或设置同步时的备用选项 (仅vscode.dev/redirect)*.vscode-unpkg.net- 加载网络扩展时使用default.exp-tas.com- Visual Studio Code 实验服务,用于提供实验性用户体验
代理服务器支持
VS Code 和 Google Chromium 一样,支持相同的代理服务器。以下是从Chromium 文档中摘录的内容:
Chromium网络堆栈使用系统网络设置,以便用户和管理员可以轻松控制所有应用程序的网络设置。网络设置包括:
- 代理设置
- SSL/TLS 设置
- 证书吊销检查设置
- 证书和私钥存储
这意味着您的代理设置将自动获取。
否则,您可以使用以下命令行参数来控制您的代理设置:
# 禁用代理
--no-proxy-server
# 手动代理地址
--代理服务器=<方案>=<uri>[:<端口>][;...] | <uri>[:<端口>] | "直接://"
# 手动 PAC 地址
--proxy-pac-url=<pac 文件 地址>
# 按主机禁用代理
--代理绕过列表=(< trailing_domain>|<ip地址>)[:<端口>][;...]
要了解更多关于这些命令行参数的信息,请参阅Chromium 网络设置.
已验证的代理
经过身份验证的代理在 VS Code 中可以与 PR #22369 一起无缝工作。
支持的认证方法有:
- 基础
- 摘要
- NTLM
- 协商
当在经过身份验证的HTTP代理后面使用VS Code时,应出现以下身份验证弹窗:

请注意,SOCKS5代理认证支持尚未实现;您可以关注Chromium的问题跟踪器中的问题。
参见Chromium HTTP 认证 以了解更多 VS Code 中的 HTTP 代理认证。
SSL 证书
通常HTTPS代理会重写传入请求的SSL证书。Chromium被设计为拒绝由它不信任的证书签名的响应。如果你遇到任何SSL信任问题,有几种选择可供你使用:
- 由于Chromium使用操作系统中的证书信任基础设施,因此首选的方法是将代理的证书添加到操作系统的信任链中。请参阅Chromium根证书政策 文档以了解更多信息。
- 如果您的代理运行在
本地主机,您可以始终尝试使用--allow-insecure-localhost命令行标志。 - 如果所有方法都无效,你可以使用 --ignore-certificate-errors 命令行标志告诉 VS Code 忽略所有证书错误。警告: 这是 危险的 并且 不推荐,因为它会留下安全问题的漏洞。
Linux用户的注意事项:在Linux上添加代理证书,您需要将其添加到系统信任存储库和NSS信任存储库。具体步骤因发行版不同而有所差异:
- 对于 Ubuntu/Debian: 将证书复制到
/usr/local/share/ca-certificates/运行sudo update-ca-certificates- 对于 RHEL/CentOS/Fedora: 使用
sudo trust anchor --store或放置在/etc/pki/ca-trust/source/anchors/运行更新CA信任库- 此外,请使用
certutil -A -n "ProxyCA" -t "CT," -i将其添加到NSS信任存储。
遗留代理服务器支持
扩展目前还不能像 VS Code 那样受益于相同的代理支持。您可以关注此问题在 GitHub 上的进展。
与扩展类似,VS Code 的其他一些功能尚未完全支持代理网络,特别是 CLI 接口。CLI 接口是在运行时获得的code --install-extension vscodevim.vim 从命令提示符或终端。您可以在 GitHub 上跟踪此问题的进展。
由于这两个限制,
故障排除
以下是一些可能有助于您在 VS Code 中排除网络问题的有用链接: