參加你附近的 ,瞭解 VS Code 中的 AI 輔助開發。

Visual Studio Code 中的網路連線

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

常見主機名

VS Code 中的一些功能需要網路通訊才能工作,例如自動更新機制、查詢和安裝擴充套件以及遙測。為了讓這些功能在代理環境中正常工作,您必須正確配置產品。

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

  • update.code.visualstudio.com - Visual Studio Code 下載和更新伺服器
  • code.visualstudio.com - Visual Studio Code 文件
  • go.microsoft.com - Microsoft 連結轉發服務
  • 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 徽章服務
  • *.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-unpkg.net - 在載入 web 擴充套件時使用
  • default.exp-tas.com - Visual Studio Code 實驗服務,用於提供實驗性使用者體驗

代理伺服器支援

VS Code 的代理伺服器支援與 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"

這意味著您的代理設定應該會被自動檢測到。

否則,您可以使用以下命令列引數來控制您的代理設定:

# 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 網路設定

身份驗證代理

在新增 PR #22369 後,帶身份驗證的代理應該可以在 VS Code 中無縫工作。

支援的身份驗證方法有:

  • Basic
  • Digest
  • NTLM
  • Negotiate

在經過身份驗證的 HTTP 代理後面使用 VS Code 時,應該會出現以下身份驗證彈出視窗:

proxy

請注意,SOCKS5 代理身份驗證支援尚未實現;您可以關注 Chromium 問題跟蹤器中的這個問題

請參閱 Chromium HTTP 身份驗證以閱讀有關 VS Code 中 HTTP 代理身份驗證的更多資訊。

SSL 證書

HTTPS 代理通常會重寫傳入請求的 SSL 證書。Chromium 的設計是拒絕由其不信任的證書籤名的響應。如果您遇到任何 SSL 信任問題,有以下幾個選項可供選擇:

  • 由於 Chromium 使用作業系統的證書信任基礎架構,首選的選項是將代理的證書新增到作業系統的信任鏈中。請參閱 Chromium 根證書策略文件以瞭解更多資訊。
  • 如果您的代理在 localhost 中執行,您可以嘗試使用 --allow-insecure-localhost 命令列標誌。
  • 如果其他方法都失敗了,您可以使用 --ignore-certificate-errors 命令列標誌告訴 VS Code 忽略所有證書錯誤。警告:這是危險的不推薦的,因為它會帶來安全問題。

舊版代理伺服器支援

擴充套件尚不能從 VS Code 支援的相同代理支援中受益。您可以在 GitHub 上關注此問題的進展。

與擴充套件類似,其他一些 VS Code 功能也尚未完全支援代理網路,即 CLI 介面。CLI 介面是您在命令提示符或終端中執行 code --install-extension vscodevim.vim 時所使用的。您可以在 GitHub 上關注此問題的進展。

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

故障排除

以下是一些可能有助於您排查 VS Code 中網路問題的有用連結: