Visual Studio Code 中的網路連線

Visual Studio Code 是建構於 Electron 之上,並受益於 Chromium 的所有網路堆疊功能。這也代表著 VS Code 使用者可獲得 Google Chrome 中提供的大部分網路支援。

常見的主機名稱

VS Code 中的少數功能需要透過網路通訊才能運作,例如自動更新機制、查詢與安裝擴充功能,以及遙測。為了讓這些功能在 Proxy 環境中正常運作,您必須正確配置產品。

如果您位在需要允許 VS Code 使用之特定網域的防火牆後方,以下是您應該允許通訊通過的主機名稱列表:

  • update.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 - 損毀報告服務
  • raw.githubusercontent.com - GitHub 儲存庫原始檔案存取
  • vsmarketplacebadges.dev - Visual Studio 市集徽章服務
  • *.vscode-cdn.net - Visual Studio Code CDN
  • vscode.download.prss.microsoft.com - Visual Studio Code 下載 CDN
  • download.visualstudio.microsoft.com - Visual Studio 下載伺服器,提供部分 VS Code 擴充功能 (C++, C#) 的相依項目
  • vscode-sync.trafficmanager.net - Visual Studio Code 設定同步服務
  • vscode-sync-insiders.trafficmanager.net - Visual Studio Code 設定同步服務 (Insiders)
  • vscode.dev - 當使用 GitHub 或 Microsoft 登入擴充功能或設定同步時用作備援(僅限 vscode.dev/redirect
  • *.vscode-unpkg.net - 載入 Web 擴充功能時使用
  • default.exp-tas.com - Visual Studio Code 測試服務,用於提供實驗性的使用者體驗

Proxy 伺服器支援

VS Code 具有與 Google Chromium 完全相同的 Proxy 伺服器支援。以下是 Chromium 說明文件的片段:

"The Chromium network stack uses the system network settings so that users and administrators can control the network settings of all applications easily. The network settings include:

 - proxy settings
 - SSL/TLS settings
 - certificate revocation check settings
 - certificate and private key stores"

這代表您的 Proxy 設定應該會自動被偵測。

否則,您可以使用下列命令列參數來控制 Proxy 設定:

# Disable proxy
--no-proxy-server

# Manual proxy address
--proxy-server=<scheme>=<uri>[:<port>][;...] | <uri>[:<port>] | "direct://"

# Manual PAC address
--proxy-pac-url=<pac-file-url>

# Disable proxy per host
--proxy-bypass-list=(<trailing_domain>|<ip-address>)[:<port>][;...]

若要深入了解這些命令列參數,請參閱 Chromium 網路設定

驗證式 Proxy

隨著 PR #22369 的加入,驗證式 Proxy 應該能在 VS Code 中順暢運作。

支援的驗證方法如下:

  • Basic
  • Digest
  • NTLM
  • Negotiate

在驗證式 HTTP Proxy 後方使用 VS Code 時,應會出現下列驗證彈出視窗:

proxy

請注意,目前尚未實作 SOCKS5 Proxy 驗證支援;您可以追蹤 Chromium 問題追蹤器中的議題

請參閱 Chromium HTTP 驗證以了解更多關於 VS Code 中 HTTP Proxy 驗證的資訊。

SSL 憑證

HTTPS Proxy 經常會重寫傳入請求的 SSL 憑證。Chromium 的設計會拒絕由其不信任之憑證所簽署的回應。如果您遇到任何 SSL 信任問題,有幾種選項可供選擇:

  • 由於 Chromium 使用作業系統的憑證信任基礎結構,首選選項是將您的 Proxy 憑證加入作業系統的信任鏈中。請參閱 Chromium 根憑證原則文件以了解更多資訊。
  • 如果您的 Proxy 在 localhost 執行,您可以嘗試使用 --allow-insecure-localhost 命令列旗標。
  • 如果其他方法都失敗,您可以使用 --ignore-certificate-errors 命令列旗標來告知 VS Code 忽略所有憑證錯誤。警告:這是危險不建議的做法,因為它會造成安全性漏洞。

Linux 使用者請注意:要在 Linux 上新增 Proxy 憑證,您需要將其新增至系統信任存放區和 NSS 信任存放區。具體步驟因發行版而異:

  • 若為 Ubuntu/Debian:將憑證複製到 /usr/local/share/ca-certificates/ 並執行 sudo update-ca-certificates
  • 若為 RHEL/CentOS/Fedora:使用 sudo trust anchor --store <certificate-file> 或放置於 /etc/pki/ca-trust/source/anchors/ 並執行 sudo update-ca-trust
  • 此外,使用 certutil -A -n "ProxyCA" -t "CT,," -i <certificate-file> -d sql:$HOME/.pki/nssdb 將其新增至 NSS 信任存放區。

舊版 Proxy 伺服器支援

擴充功能目前尚未受益於 VS Code 支援的相同 Proxy 支援。您可以在 GitHub 追蹤此議題的進展。

與擴充功能類似,其他少數 VS Code 功能也尚未完全支援 Proxy 網路,即 CLI 介面。CLI 介面是指從命令提示字元或終端機執行 code --install-extension vscodevim.vim 時的情況。您可以在 GitHub 追蹤此議題的進展。

由於這兩項限制, http.proxy 在 VS Code 中開啟 在 VS Code Insiders 中開啟 http.proxyStrictSSL 在 VS Code 中開啟 在 VS Code Insiders 中開啟 http.proxyAuthorization 在 VS Code 中開啟 在 VS Code Insiders 中開啟 變數仍是 VS Code 設定的一部分,但它們僅在上述兩種情況下生效。

疑難排解

以下是一些可能有助於疑難排解 VS Code 網路問題的連結:

© . This site is unofficial and not affiliated with Microsoft.