VSCodeネットワーク設定完全ガイド!企業環境でも快適に使う方法

プログラミング・IT

「会社のプロキシ環境で拡張機能がインストールできない」 「ファイアウォールに阻まれて更新できない」 「リモート開発が繋がらない」 「SSL証明書エラーで何もダウンロードできない」

企業環境や制限のあるネットワークでVSCodeを使うのは、本当に大変ですよね。

でも大丈夫!この記事では、プロキシ設定からファイアウォール突破SSL証明書問題まで、VSCodeのネットワーク関連の問題をすべて解決します。

これで、どんな環境でも快適にVSCodeが使えるようになります!


スポンサーリンク

VSCodeのネットワーク通信を理解する

VSCodeが通信する主な項目

【VSCode本体の通信】

  • 更新チェック(update.code.visualstudio.com)
  • テレメトリ送信
  • 設定の同期
  • 拡張機能のダウンロード

【拡張機能の通信】

  • Marketplace(marketplace.visualstudio.com)
  • 各拡張機能独自の通信
  • Language Server Protocol
  • デバッガー通信

【開発関連の通信】

  • Git(GitHub、GitLab等)
  • npm/yarn(パッケージダウンロード)
  • Docker
  • リモート開発(SSH、WSL、Container)

これらすべてにネットワーク設定が影響します!


プロキシ設定:企業環境の第一関門

基本的なプロキシ設定

【settings.jsonで設定】

{
  // HTTPプロキシ設定
  "http.proxy": "http://proxy.company.com:8080",
  
  // HTTPSも同じプロキシを使う
  "https.proxy": "http://proxy.company.com:8080",
  
  // プロキシを使わないホスト
  "http.proxySupport": "on",
  "http.proxyStrictSSL": true,
  
  // 除外リスト
  "http.noProxy": "localhost,127.0.0.1,*.internal.company.com"
}

認証が必要なプロキシ

【ユーザー名とパスワードを含める】

{
  // 基本認証付きプロキシ
  "http.proxy": "http://username:password@proxy.company.com:8080",
  
  // パスワードに特殊文字がある場合はエンコード
  "http.proxy": "http://user:p%40ssw0rd@proxy.company.com:8080"
}

【環境変数で設定(より安全)】

# Windows(システム環境変数)
HTTP_PROXY=http://proxy.company.com:8080
HTTPS_PROXY=http://proxy.company.com:8080
NO_PROXY=localhost,127.0.0.1

# Mac/Linux(.bashrcや.zshrcに追加)
export HTTP_PROXY=http://proxy.company.com:8080
export HTTPS_PROXY=$HTTP_PROXY
export NO_PROXY=localhost,127.0.0.1

プロキシ自動設定(PAC)ファイル

{
  // PACファイルのURL
  "http.proxyAuthorization": null,
  "http.proxy": "http://proxy.company.com/proxy.pac",
  
  // システムのプロキシ設定を使用
  "http.proxySupport": "on"
}

SSL/TLS証明書の問題を解決

自己署名証明書エラーの対処

【一時的な回避策(非推奨)】

{
  // SSL証明書の検証を無効化(危険!)
  "http.proxyStrictSSL": false,
  
  // より安全:特定の証明書だけ許可
  "http.systemCertificates": false
}

企業の証明書を追加する方法

【Windows】

# 証明書をインストール
certutil -addstore -user Root company-ca.crt

# VSCodeを再起動

【Mac】

# キーチェーンに追加
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain company-ca.crt

【Linux】

# Ubuntu/Debian
sudo cp company-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

# CentOS/RHEL
sudo cp company-ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust

【VSCodeに証明書を指定】

{
  // カスタム証明書ファイル
  "http.certificateAuthorities": [
    "/path/to/company-ca.crt"
  ]
}

拡張機能のインストール問題

Marketplaceに接続できない場合

【オフラインインストール】

  1. 別環境でVSIXファイルをダウンロード
    • VSCode Marketplaceにアクセス
    • 拡張機能のページで「Download Extension」
    • .vsixファイルを取得
  2. VSCodeでインストール# コマンドラインから code --install-extension extension-name.vsix または
    • Ctrl+Shift+P → 「Extensions: Install from VSIX」
    • ファイルを選択

プライベートレジストリの設定

【社内の拡張機能リポジトリ】

{
  // Marketplaceの URL を変更
  "extensionsGallery": {
    "serviceUrl": "https://internal-marketplace.company.com/_apis/public/gallery",
    "cacheUrl": "https://internal-marketplace.company.com/gallery/index",
    "itemUrl": "https://internal-marketplace.company.com/items"
  }
}

拡張機能の自動更新設定

{
  // 自動更新を無効化(帯域節約)
  "extensions.autoUpdate": false,
  
  // 起動時のチェックを無効化
  "extensions.autoCheckUpdates": false,
  
  // 特定の拡張機能だけ更新
  "extensions.ignoreRecommendations": false
}

ファイアウォール設定

Windowsファイアウォール

【VSCodeを許可リストに追加】

# 管理者権限で実行
netsh advfirewall firewall add rule name="VSCode" dir=in action=allow program="C:\Program Files\Microsoft VS Code\Code.exe" enable=yes

# 送信も許可
netsh advfirewall firewall add rule name="VSCode" dir=out action=allow program="C:\Program Files\Microsoft VS Code\Code.exe" enable=yes

必要なポートとURL

【開放が必要なドメイン】

# VSCode本体
*.visualstudio.com
*.microsoft.com
*.azurewebsites.net

# GitHub(Git連携)
github.com
*.github.com
*.githubusercontent.com

# npm/Node.js
registry.npmjs.org
*.nodejs.org

# Docker
hub.docker.com
*.docker.io

【ポート番号】

HTTP: 80
HTTPS: 443
Git SSH: 22
Remote SSH: 22
Live Server: 5500
Debug: 9229

リモート開発の設定

SSH Remote接続

【.ssh/configの設定】

# プロキシ経由でSSH接続
Host remote-server
    HostName remote.example.com
    User username
    Port 22
    ProxyCommand connect -H proxy.company.com:8080 %h %p

【VSCodeの設定】

{
  // SSH設定ファイルの場所
  "remote.SSH.configFile": "~/.ssh/config",
  
  // SSH接続のタイムアウト
  "remote.SSH.connectTimeout": 30,
  
  // プロキシ設定
  "remote.SSH.useLocalServer": true
}

WSL設定

{
  // WSL統合
  "remote.WSL.enabled": true,
  
  // WSL2のネットワーク設定
  "remote.WSL.server.connectThroughLocalhost": true
}

Dockerコンテナ接続

{
  // Docker設定
  "docker.host": "tcp://localhost:2375",
  
  // プロキシ環境変数を引き継ぐ
  "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/GitHubの設定

Gitのプロキシ設定

# HTTPSリポジトリ用
git config --global http.proxy http://proxy.company.com:8080
git config --global https.proxy http://proxy.company.com:8080

# 特定のドメインだけプロキシを使う
git config --global http.https://github.com.proxy http://proxy.company.com:8080

# プロキシ設定を削除
git config --global --unset http.proxy
git config --global --unset https.proxy

SSH経由でのGit接続

【~/.ssh/configの設定】

Host github.com
    HostName github.com
    User git
    ProxyCommand connect -H proxy.company.com:8080 %h %p
    IdentityFile ~/.ssh/id_rsa

npm/yarnの設定

npmプロキシ設定

# プロキシ設定
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080

# SSL証明書の検証を無効化(非推奨)
npm config set strict-ssl false

# レジストリを変更(社内ミラー)
npm config set registry https://internal-npm.company.com/

# 設定確認
npm config list

yarnプロキシ設定

# プロキシ設定
yarn config set proxy http://proxy.company.com:8080
yarn config set https-proxy http://proxy.company.com:8080

# 証明書設定
yarn config set strict-ssl false

オフライン環境での使用

ポータブル版の準備

【完全オフライン環境の構築】

  1. VSCode Portable版をダウンロード
  2. 必要な拡張機能をVSIX形式で保存
  3. Node.jsやGitも含めてパッケージング

【portable-vscode構成】

portable-vscode/
├── code-portable.exe
├── data/
│   ├── extensions/     # 拡張機能
│   ├── user-data/      # ユーザー設定
│   └── tmp/            # 一時ファイル
├── tools/
│   ├── git/            # Git Portable
│   ├── node/           # Node.js
│   └── python/         # Python
└── workspace/          # プロジェクト

拡張機能の一括バックアップ

# インストール済み拡張機能のリスト取得
code --list-extensions > extensions.txt

# 一括インストールスクリプト
cat extensions.txt | xargs -L 1 code --install-extension

トラブルシューティング

接続テストツール

【VSCode内蔵のネットワーク診断】

{
  // デバッグログを有効化
  "log.level": "trace",
  
  // ネットワークログ
  "remote.downloadExtensionLocally": true
}

【curlでテスト】

# Marketplace接続テスト
curl -I https://marketplace.visualstudio.com/_apis/public/gallery

# プロキシ経由のテスト
curl -x http://proxy.company.com:8080 -I https://marketplace.visualstudio.com

よくある問題と解決法

Q:「XHR failed」エラー

{
  // タイムアウトを延長
  "http.timeout": 120000,
  
  // リトライ設定
  "http.retryCount": 3
}

Q:拡張機能の検索ができない

{
  // DNSの問題を回避
  "http.experimental.preferHttp2": false,
  
  // IPv6を無効化
  "http.ipVersion": 4
}

Q:同期が機能しない

{
  // 同期サービスの設定
  "settingsSync.keybindingsPerPlatform": false,
  
  // プロキシ認証情報
  "http.proxyAuthorization": "Basic base64encodedcredentials"
}

セキュリティベストプラクティス

安全な設定方法

{
  // テレメトリを無効化(企業ポリシー)
  "telemetry.telemetryLevel": "off",
  
  // 自動更新を制御
  "update.mode": "manual",
  
  // 拡張機能の制限
  "extensions.allowed": [
    "ms-vscode.csharp",
    "ms-python.python"
  ],
  
  // ワークスペースの信頼設定
  "security.workspace.trust.enabled": true
}

機密情報の管理

【パスワードを設定ファイルに書かない】

# 環境変数を使用
export PROXY_USER=username
export PROXY_PASS=password

# VSCodeから参照
"http.proxy": "http://${env:PROXY_USER}:${env:PROXY_PASS}@proxy.company.com:8080"

まとめ:どんなネットワーク環境でもVSCodeを使いこなす!

ネットワーク制限があっても、適切な設定でVSCodeは快適に使えます。

今すぐ確認すべき5つのこと:

プロキシ設定を確認

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

SSL証明書の問題を解決

  • 企業の証明書をインストール
  • または一時的に検証を無効化

必要なURLをホワイトリスト登録

  • *.visualstudio.com
  • marketplace.visualstudio.com

拡張機能のオフラインインストール準備

  • VSIXファイルのダウンロード方法を確認

トラブル時の代替手段を用意

  • ポータブル版の準備
  • 設定のバックアップ

重要なポイント:

  • セキュリティと利便性のバランスを取る
  • パスワードは環境変数で管理
  • 定期的に設定を見直す
  • IT部門と連携して適切な設定を

これで、企業環境でも自宅でも、快適にVSCodeが使えるようになります!

Happy Coding in Any Network! 🌐

コメント

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