ネットワーク接続

Visual Studio Code は Electron 上で構築され Chromium のプロトコル スタック(ネットワーキングスタック)機能を利用します。つまり VS Code ユーザーが Google Chrome で利用できるネットワーク サポートを同じように利用できるこということです。

ホスト名

VS Code では自動更新、拡張機能のクエリとインストール、テメトリなどの機能にネットワーク接続が必要です。これらの機能をプロキシ環境で正しく機能させるには、プロダクトが正しく構成される必要があります。

ホワイトリストに VS Code のドメインを追加する必要があるような Firewall を使用している場合に、追加する必要があるホスト名を次に示します:

  • vscode-update.azurewebsites.net
  • vscode.blob.core.windows.net
  • marketplace.visualstudio.com
  • rink.hockeyapp.net

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

VS Code は Google Chromiumと同じプロキシ サーバーサポートを備えています。次は Chromium’s documentation の抜粋です:

"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>][;...]

これらのコマンド ライン引数の詳細については ここ を参照してください。

認証プロキシ

認証プロキシは PR #22369 の追加によって VS Code 内でシームレスに機能するようになりました。

サポートされる認証メソッドは次の通りです:

  • Basic
  • Digest
  • NTLM
  • Negotiate

認証プロキシ(HTTP) 環境で VS Code を使用すると次の認証ポップアップが表示されます:

proxy

SOCKS5 プロキシ認証の対応はまだ実装されていないことに注意してください。詳細 : issue in Chromium’s issue tracker

HTTP プロキシの認証の詳細については ここ を参照してください。

SSL 証明書

HTTPS プロキシは着信要求の SSL 証明書を書き換えます。Chromium は信頼できない証明書で署名されたレスポンスを拒否するように設計されています。SSL のセキュリティー関係に問題が発生した場合は次の対処法があります:

  • Chromium は OS の証明書信頼を利用するだけなので、OS の信頼チェーンにプロキシの証明書を追加することが推奨されます。Chromium の Root Certificate Policy については こちら を参照してください。
  • localhost でプロキシを動かしているときは、--allow-insecure-localhost コマンドライン フラグを試してください。
  • どれも失敗した場合は --ignore-certificate-errors コマンドライン フラグを使用してすべての証明書エラーを無視するようにできます。Warning: セキュリティー問題が発生するので、危険推奨されません

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

まだ VS Code がサポートするプロキシ サポートでは拡張機能にまで効果がありません。GitHub の issue に関連します。

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

これらの制約のため VS Code 設定の一部 http.proxy, http.proxyStrictSSL, http.proxyAuthorization 変数はこの 2 つの場合にまだ利用されます。

トラブルシューティング

ネットワーク接続のトラブルシューティングに役立つリンク:

8f449295b321510871e357b12f9aaa6070944db3