VSCodeプロキシ設定完全ガイド|企業環境でも拡張機能を快適に使う方法

「会社のネットワークでVSCodeの拡張機能がインストールできない…」

企業や学校などのプロキシ環境でVSCodeを使おうとすると、こんな問題に直面することがあります。

拡張機能がダウンロードできない、更新が失敗する、Gitが動作しない──これらはすべてプロキシ設定で解決できます。

この記事では、VSCodeのプロキシ設定方法を基本から応用まで、トラブルシューティングも含めて詳しく解説します。

スポンサーリンク

プロキシとは?基本を理解する

プロキシサーバーは、クライアント(あなたのPC)とインターネットの間に位置する中継サーバーです。

プロキシの役割:

  • セキュリティの向上(不正なアクセスをブロック)
  • アクセス制御(特定のサイトへのアクセスを制限)
  • 通信の記録と監視
  • キャッシュによる高速化

企業や学校では、セキュリティポリシーにより、すべてのインターネット通信がプロキシを経由するよう設定されていることが多いです。

VSCodeがプロキシで必要になる理由

VSCodeは以下のような場面でインターネット通信を行います。

通信が発生する主なケース:

  1. 拡張機能のインストール・更新
  2. VSCode本体の自動更新
  3. 設定の同期(Settings Sync)
  4. Gitリポジトリへのアクセス
  5. リモート開発(SSH、Container、WSL)
  6. テレメトリデータの送信

プロキシ環境では、これらの通信がブロックされるため、明示的にプロキシ設定が必要になります。

基本的なプロキシ設定方法

VSCodeでプロキシを設定する方法は3つあります。

方法1:設定画面から設定(初心者向け)

手順:

  1. VSCodeを起動
  2. Ctrl + ,(Macは Cmd + ,)で設定を開く
  3. 検索ボックスに「proxy」と入力
  4. 「Http: Proxy」の項目を見つける
  5. プロキシサーバーのアドレスを入力

入力形式:

http://プロキシサーバーのアドレス:ポート番号

例:

http://proxy.company.com:8080

方法2:settings.jsonで設定(推奨)

より詳細な設定が可能な方法です。

手順:

  1. Ctrl + Shift + P(Macは Cmd + Shift + P)でコマンドパレットを開く
  2. 「Preferences: Open Settings (JSON)」と入力して実行
  3. settings.jsonが開く
  4. 以下の設定を追加

基本設定:

{
    "http.proxy": "http://proxy.company.com:8080",
    "http.proxyStrictSSL": false
}

設定項目の説明:

  • http.proxy:プロキシサーバーのアドレスとポート
  • http.proxyStrictSSL:SSL証明書の検証(自己署名証明書の場合はfalse)

方法3:環境変数で設定

システムレベルで設定する方法です。

Windows:

  1. システム環境変数を開く
  2. 以下の変数を追加:
HTTP_PROXY=http://proxy.company.com:8080
HTTPS_PROXY=http://proxy.company.com:8080

Mac/Linux:

~/.bashrcまたは~/.zshrcに追加:

export HTTP_PROXY="http://proxy.company.com:8080"
export HTTPS_PROXY="http://proxy.company.com:8080"

認証が必要なプロキシの設定

多くの企業プロキシでは、ユーザー名とパスワードによる認証が必要です。

認証付きプロキシの設定:

{
    "http.proxy": "http://ユーザー名:パスワード@proxy.company.com:8080",
    "http.proxyStrictSSL": false
}

実際の例:

{
    "http.proxy": "http://yamada:mypassword@proxy.company.com:8080",
    "http.proxyStrictSSL": false
}

パスワードに特殊文字が含まれる場合

パスワードに@#:などの特殊文字が含まれる場合、URLエンコードが必要です。

URLエンコードの例:

文字エンコード
@%40
#%23
:%3A
/%2F
\%5C
スペース%20

例:パスワードが「p@ssw0rd」の場合

{
    "http.proxy": "http://yamada:p%40ssw0rd@proxy.company.com:8080"
}

ドメイン付きユーザー名の設定

Windowsドメイン環境の場合、ユーザー名にドメイン\ユーザー名の形式が必要なことがあります。

設定方法:

{
    "http.proxy": "http://DOMAIN%5Cusername:password@proxy.company.com:8080",
    "http.proxyStrictSSL": false
}

注意点:

  • バックスラッシュ(\)は%5Cにエンコード
  • DOMAIN\usernameDOMAIN%5Cusernameになる

プロキシを使わないホストの設定

社内サーバーなど、プロキシを経由しないホストを指定できます。

設定方法:

{
    "http.proxy": "http://proxy.company.com:8080",
    "http.noProxy": "localhost,127.0.0.1,*.internal.company.com"
}

noProxyの指定方法:

  • カンマ区切りで複数指定可能
  • ワイルドカード(*)が使用可能
  • ローカルホストは必ず除外する

プロキシの自動検出設定

一部の環境では、プロキシ設定を自動で取得できます。

設定:

{
    "http.proxySupport": "on"
}

proxySupport の値:

  • on:システムのプロキシ設定を使用(推奨)
  • off:プロキシを使用しない
  • override:settings.jsonの設定を優先

SSL証明書の問題を解決

企業プロキシでは、自己署名証明書を使用していることがよくあります。

証明書検証を無効化(簡易対策)

{
    "http.proxy": "http://proxy.company.com:8080",
    "http.proxyStrictSSL": false
}

注意:
セキュリティリスクがあるため、本番環境では推奨されません。

証明書を信頼ストアに追加(推奨)

Windows:

  1. 証明書ファイル(.cer)を取得
  2. 証明書をダブルクリック
  3. 「証明書のインストール」を選択
  4. 「信頼されたルート証明機関」に追加

Mac:

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /path/to/certificate.cer

Linux(Ubuntu/Debian):

sudo cp /path/to/certificate.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

リモート開発時のプロキシ設定

Remote SSHやRemote Containersを使用する場合の設定です。

Remote SSH の設定

リモート側の設定が必要:

  1. リモートホストに接続
  2. 設定画面で「リモート」タブを選択
  3. プロキシ設定を追加
{
    "http.proxy": "http://proxy.company.com:8080",
    "http.proxyStrictSSL": false
}

SSH経由でプロキシを使用する場合:

~/.ssh/configに追加:

Host remote-server
    HostName remote.example.com
    User username
    Port 22
    ProxyCommand connect -H proxy.company.com:8080 %h %p

Remote Containers の設定

コンテナ内でプロキシを使用する場合:

{
    "remote.containers.env": {
        "HTTP_PROXY": "http://proxy.company.com:8080",
        "HTTPS_PROXY": "http://proxy.company.com:8080",
        "NO_PROXY": "localhost,127.0.0.1"
    }
}

Git のプロキシ設定

VSCode内蔵のGit機能を使う場合も、プロキシ設定が必要です。

Gitのプロキシ設定:

# グローバル設定
git config --global http.proxy http://proxy.company.com:8080
git config --global https.proxy http://proxy.company.com:8080

# 認証付き
git config --global http.proxy http://username:password@proxy.company.com:8080

プロキシ設定の確認:

git config --global --list

プロキシ設定の削除:

git config --global --unset http.proxy
git config --global --unset https.proxy

npm/Node.js のプロキシ設定

拡張機能の開発時などでnpmを使う場合:

npmのプロキシ設定:

npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
npm config set strict-ssl false

設定の確認:

npm config list

設定の削除:

npm config delete proxy
npm config delete https-proxy

トラブルシューティング

拡張機能がインストールできない

症状:
Marketplaceに接続できない、タイムアウトエラー

対処法1:プロキシ設定の確認

{
    "http.proxy": "http://proxy.company.com:8080",
    "http.proxyStrictSSL": false,
    "http.proxySupport": "on"
}

対処法2:VSCodeの再起動

設定を変更した後は必ずVSCodeを完全に再起動してください。

対処法3:ネットワーク接続の確認

以下のURLにアクセスできるか確認:

  • https://marketplace.visualstudio.com
  • https://update.code.visualstudio.com
  • https://vscode.gallerycdn.vsassets.io

認証ダイアログが繰り返し表示される

原因:
認証情報が保存されていない

対処法:

VSCode 1.52以降では、認証情報を保存できます:

{
    "window.enableExperimentalProxyLoginDialog": true
}

これにより、認証情報がOSのキーチェーンに保存されます。

SSL証明書エラーが出る

エラーメッセージ例:

unable to verify the first certificate
UNABLE_TO_GET_ISSUER_CERT_LOCALLY

対処法1:証明書検証を無効化

{
    "http.proxyStrictSSL": false
}

対処法2:コマンドラインオプション

code --ignore-certificate-errors

注意:
セキュリティリスクがあるため、テスト環境のみで使用してください。

一部の機能だけプロキシが効かない

原因:
VSCodeのCLI(コマンドライン)機能は、現時点でプロキシを完全にはサポートしていません。

対処法:

システム環境変数でプロキシを設定してください。

接続許可が必要なドメイン一覧

ファイアウォールで以下のドメインへのアクセスを許可してください:

VSCode本体:

  • *.visualstudio.com
  • *.microsoft.com
  • *.azurewebsites.net
  • update.code.visualstudio.com

Marketplace:

  • marketplace.visualstudio.com
  • *.gallery.vsassets.io
  • *.gallerycdn.vsassets.io

GitHub連携:

  • github.com
  • *.github.com
  • *.githubusercontent.com

その他:

  • vscode.dev
  • *.vscode-unpkg.net

設定例集

企業環境の標準設定

{
    "http.proxy": "http://proxy.company.com:8080",
    "http.proxyStrictSSL": false,
    "http.proxySupport": "on",
    "http.noProxy": "localhost,127.0.0.1,*.company.local",
    "window.enableExperimentalProxyLoginDialog": true
}

認証プロキシの完全設定

{
    "http.proxy": "http://username:password@proxy.company.com:8080",
    "https.proxy": "http://username:password@proxy.company.com:8080",
    "http.proxyStrictSSL": false,
    "http.proxyAuthorization": null,
    "http.noProxy": "localhost,127.0.0.1"
}

複数プロキシの使い分け

環境ごとに異なるプロキシを使用する場合は、ワークスペース設定を利用します。

プロジェクトルートの.vscode/settings.json

{
    "http.proxy": "http://project-proxy.company.com:8080",
    "http.proxyStrictSSL": false
}

よくある質問

Q1:SOCKSプロキシは使えますか?

残念ながら、VSCodeはSOCKSプロキシをサポートしていません。HTTPまたはHTTPSプロキシのみ使用可能です。

Q2:プロキシ設定はどこに保存されますか?

ユーザー設定:

  • Windows: %APPDATA%\Code\User\settings.json
  • Mac: ~/Library/Application Support/Code/User/settings.json
  • Linux: ~/.config/Code/User/settings.json

Q3:一時的にプロキシを無効にしたい

settings.jsonの該当行をコメントアウトするか、以下を設定:

{
    "http.proxySupport": "off"
}

Q4:自宅と会社で自動的に切り替えられますか?

VSCode単体では難しいですが、以下の方法があります:

  1. ワークスペースごとに設定を分ける
  2. 環境変数を使用し、シェルスクリプトで切り替え
  3. 拡張機能を使用

まとめ

VSCodeのプロキシ設定は、企業環境で快適に開発するために必須です。

基本設定のポイント:

  1. settings.jsonhttp.proxyを設定
  2. 自己署名証明書の場合はhttp.proxyStrictSSL: false
  3. 認証が必要な場合はURLにユーザー名・パスワードを含める
  4. 特殊文字はURLエンコードする
  5. 設定後はVSCodeを再起動

よくある設定:

{
    "http.proxy": "http://username:password@proxy.company.com:8080",
    "http.proxyStrictSSL": false,
    "http.proxySupport": "on"
}

プロキシ設定が正しく行われていれば、拡張機能のインストール、更新、Gitの操作、リモート開発など、すべての機能が問題なく動作します。

設定がうまくいかない場合は、まずネットワーク管理者に正しいプロキシ情報を確認してから、このガイドの手順を一つずつ試してみてください。

コメント

タイトルとURLをコピーしました