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
- クラッシュ報告サービスbingsettingssearch.trafficmanager.net
- 製品内の設定検索vscode.search.windows.net
- 製品内の設定検索raw.githubusercontent.com
- GitHub リポジトリの raw ファイルアクセス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-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 を使用する場合、次の認証ポップアップが表示されるはずです。
SOCKS5 プロキシ認証のサポートはまだ実装されていません。 Chromium の Issue トラッカーでこの Issue をフォローできます。
VS Code 内の HTTP プロキシ認証について詳しくは、Chromium HTTP 認証 を参照してください。
SSL 証明書
多くの場合、HTTPS プロキシは受信リクエストの SSL 証明書を書き換えます。Chromium は、信頼できない証明書によって署名された応答を拒否するように設計されています。SSL の信頼に関する問題が発生した場合は、いくつかの選択肢があります。
- Chromium は OS の証明書信頼インフラストラクチャを使用するため、推奨されるオプションはプロキシの証明書を OS の信頼チェーンに追加することです。詳細については、Chromium ルート証明書ポリシー のドキュメントを参照してください。
- プロキシが
localhost
で実行されている場合は、常に --allow-insecure-localhost コマンドラインフラグを試すことができます。 - それでも解決しない場合は、--ignore-certificate-errors コマンドラインフラグを使用して、VS Code にすべての証明書エラーを無視するように指示できます。警告: これは危険であり、セキュリティ問題につながるため推奨されません。
従来のプロキシサーバーのサポート
拡張機能はまだ VS Code がサポートするのと同じプロキシサポートの恩恵を受けていません。この Issue の開発状況は GitHub でフォローできます。
拡張機能と同様に、他のいくつかの VS Code 機能、すなわち CLI インターフェイスも、まだプロキシネットワークを完全にはサポートしていません。CLI インターフェイスは、コマンドプロンプトやターミナルから code --install-extension vscodevim.vim
を実行したときに得られるものです。この Issue の開発状況は GitHub でフォローできます。
これらの両方の制約により、http.proxy、http.proxyStrictSSL、http.proxyAuthorization 変数はまだ VS Code の設定の一部ですが、これらが尊重されるのはこれら 2 つのシナリオのみです。
トラブルシューティング
VS Code のネットワーク問題をトラブルシューティングするのに役立つリンクをいくつか紹介します。