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 Marketplacerink.hockeyapp.net- 當機回報服務raw.githubusercontent.com- GitHub 儲存庫原始檔案存取vsmarketplacebadges.dev- Visual Studio Marketplace 徽章服務*.vscode-cdn.net- Visual Studio Code CDNvscode.download.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 設定同步服務 (Insiders)vscode.dev- 當使用 GitHub 或 Microsoft 登入以取得擴充功能或設定同步時,作為備援使用 (僅vscode.dev/redirect)*.vscode-unpkg.net- 載入網頁擴充功能時使用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 中順暢運作。
支援的驗證方法為
- 基本
- 摘要
- NTLM
- 協商
當在需要驗證的 HTTP 代理伺服器後方使用 VS Code 時,應該會出現下列驗證快顯視窗

請注意,尚未實作 SOCKS5 代理伺服器驗證支援;您可以追蹤 Chromium 問題追蹤器中的此問題。
請參閱 Chromium HTTP 驗證以深入了解 VS Code 中的 HTTP 代理伺服器驗證。
SSL 憑證
HTTPS 代理伺服器通常會改寫連入要求的 SSL 憑證。Chromium 的設計會拒絕由其不信任的憑證所簽署的回應。如果您遇到任何 SSL 信任問題,您可以選擇以下幾種選項
- 由於 Chromium 使用作業系統的憑證信任基礎結構,因此建議的做法是將代理伺服器的憑證新增至作業系統的信任鏈中。請參閱 Chromium 根憑證原則說明文件以深入了解。
- 如果您的代理伺服器執行於
localhost,您可以隨時嘗試使用 --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 <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 信任存放區。
舊版代理伺服器支援
擴充功能目前無法享有與 VS Code 相同的代理伺服器支援。您可以在 GitHub 上追蹤此問題的進展。
與擴充功能類似,其他少數 VS Code 功能也尚未完整支援代理伺服器網路功能,也就是 CLI 介面。CLI 介面是當您從命令提示字元或終端機執行 code --install-extension vscodevim.vim 時所獲得的項目。您可以在 GitHub 上追蹤此問題的進展。
由於這兩項限制, http.proxy 、 http.proxyStrictSSL 及 http.proxyAuthorization 變數仍然是 VS Code 設定的一部分,但它們僅在上述兩種情況下才會生效。
疑難排解
以下是一些有用的連結,或許能協助您疑難排解 VS Code 中的網路問題