🚀 在 VS Code 中取得

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 連結轉送服務
  • vscode.blob.core.windows.net - Visual Studio Code Blob 儲存體,用於遠端伺服器
  • marketplace.visualstudio.com - Visual Studio Marketplace
  • *.gallery.vsassets.io - Visual Studio Marketplace
  • *.gallerycdn.vsassets.io - Visual Studio Marketplace
  • rink.hockeyapp.net - 當機報告服務
  • bingsettingssearch.trafficmanager.net - 產品內設定搜尋
  • vscode.search.windows.net - 產品內設定搜尋
  • raw.githubusercontent.com - GitHub 存放庫原始檔存取
  • vsmarketplacebadges.dev - Visual Studio Marketplace 徽章服務
  • az764295.vo.msecnd.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-unpkg.net - 載入 Web 擴充功能時使用
  • default.exp-tas.com - Visual Studio Code 實驗服務,用於提供實驗性使用者體驗

Proxy 伺服器支援

VS Code 的 Proxy 伺服器支援與 Google Chromium 完全相同。以下摘錄自 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 內順暢運作。

支援的驗證方法為

  • 基本
  • 摘要
  • NTLM
  • Negotiate

當在已驗證的 HTTP Proxy 後方使用 VS Code 時,應會出現下列驗證快顯視窗

proxy

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

請參閱 Chromium HTTP 驗證,以深入瞭解 VS Code 內的 HTTP Proxy 驗證。

SSL 憑證

HTTPS Proxy 通常會重寫傳入請求的 SSL 憑證。Chromium 的設計目的是拒絕由其不信任的憑證簽署的回應。如果您遇到任何 SSL 信任問題,有幾個選項可供您使用

  • 由於 Chromium 使用 OS 的憑證信任基礎架構,因此建議的選項是將 Proxy 的憑證新增至 OS 的信任鏈。請參閱 Chromium 根憑證原則 文件以深入瞭解。
  • 如果您的 Proxy 在 localhost 中執行,您可以隨時嘗試 --allow-insecure-localhost 命令列旗標。
  • 如果其他方法都失敗,您可以告知 VS Code 使用 --ignore-certificate-errors 命令列旗標來忽略所有憑證錯誤。警告:很危險不建議使用,因為這會開啟安全性問題的大門。

舊版 Proxy 伺服器支援

擴充功能尚未受益於 VS Code 支援的相同 Proxy 支援。您可以追蹤 GitHub 中的此問題開發。

與擴充功能類似,一些其他 VS Code 功能尚未完全支援 Proxy 網路,即 CLI 介面。CLI 介面是您從命令提示字元或終端機執行 code --install-extension vscodevim.vim 時取得的介面。您可以追蹤 GitHub 中的此問題開發。

由於這兩個限制,http.proxyhttp.proxyStrictSSLhttp.proxyAuthorization 變數仍然是 VS Code 設定的一部分,但它們僅在這兩種情況下受到尊重。

疑難排解

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