🚀 VS Code で で入手しましょう!

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 リンク転送サービス
  • 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 実験サービス (実験的なユーザーエクスペリエンスを提供するために使用)

プロキシサーバーのサポート

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 の課題追跡システムの問題をフォローできます。

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 がサポートするのと同じプロキシサポートをまだ利用できません。 この問題の開発状況は、GitHub でフォローできます。

拡張機能と同様に、他のいくつかの VS Code 機能もまだプロキシネットワーキングを完全にサポートしていません。具体的には CLI インターフェースです。 CLI インターフェースは、コマンドプロンプトまたはターミナルから code --install-extension vscodevim.vim を実行すると取得できるものです。 この問題の開発状況は、GitHub でフォローできます。

これらの制約の両方により、http.proxyhttp.proxyStrictSSL、および http.proxyAuthorization 変数は引き続き VS Code の設定の一部ですが、これらはこれら 2 つのシナリオでのみ尊重されます。

トラブルシューティング

VS Code でのネットワークの問題をトラブルシューティングするのに役立つ可能性のある便利なリンクを次に示します。