🤖

VSCode Telemetry設定をチームで統一する実践的な方法|Cline導入時の課題解決

に公開

この記事の目的

「Cline導入したいけど、セキュリティ部門からTelemetryで確認が必要と言われた...」

この記事に行き着いた方はそんな悩みを持っているのではないでしょうか。特に金融系や官公庁系の開発チームでは、情報漏洩の可能性を慎重に検討する必要があります。

そんなお困り事を解決するべく、調査した内容を共有します。

まず知っておくべき重要事実

Clineは実際にはプロンプトやコードの内容を収集していません。これは公式ドキュメントで明確に記載されています。

でも、現実的にはこういった状況があります:

  • 🏢 企業セキュリティ部門:「Telemetryという項目がある以上、慎重に検討したい」
  • 👨‍💼 上司:「詳細がわからないので、安全策で全部オフにしてほしい」
  • 😰 開発者:「技術的には問題ないと思うけど...」

つまり、技術的な正しさと組織の現実は別物なんです。
悲しいですが、承認をする立場が慎重なのもまた正しい姿です。きちんと向き合いましょう。

VSCode設定の種類

VSCodeの設定と一口に言っても、以下の通りいくつか分類があります。

1. ワークスペース設定 (.vscode/settings.json)  ← 最優先
2. ユーザー設定 (settings.json)              ← 通常ここ
3. デフォルト設定                            ← 最後

課題発見:Telemetry設定の制約

ここで重要な制約が判明します。

{
  "telemetry.telemetryLevel": "off"
}

この設定は「ユーザー設定専用」として設計されています。

つまり:

  • .vscode/settings.jsonでは設定できません
    プロジェクトのルートディレクトリに設定内容を記載して、開発者が意識しなくても適用されるようにしよう、という手段は無理
  • devcontainer.jsonでも設定できません
    Dev Containerを使って設定する内容もワークスペースと同じカテゴリのため、開発者の設定内容を統一しよう、という手段も無理

チームで統一するためには技術的な壁があるようです。。

【解決策】チーム統一を実現する実践的アプローチ

技術的制約があるなら、運用でカバーするしかありません。
運用でカバーする際に使えるスクリプト(Claude作成)を置いておきます。

Windows開発者向け

# setup-vscode.ps1
Write-Host "🔧 VSCode Telemetry無効化スクリプト実行中..." -ForegroundColor Yellow

$settingsPath = "$env:APPDATA\Code\User\settings.json"

# settings.jsonが存在しない場合は作成
if (!(Test-Path $settingsPath)) {
    Write-Host "📁 settings.jsonを新規作成します" -ForegroundColor Green
    New-Item -Path $settingsPath -ItemType File -Value "{}" -Force
}

# 既存設定を読み込み
try {
    $settings = Get-Content $settingsPath | ConvertFrom-Json
} catch {
    Write-Host "⚠️ 既存設定の読み込みに失敗。新規作成します" -ForegroundColor Red
    $settings = @{}
}

# Telemetry設定を追加/更新
$settings | Add-Member -NotePropertyName "telemetry.telemetryLevel" -NotePropertyValue "off" -Force

# 設定を保存
$settings | ConvertTo-Json -Depth 10 | Set-Content $settingsPath -Encoding UTF8

Write-Host "✅ VSCode Telemetry設定を無効化しました!" -ForegroundColor Green
Write-Host "🔄 VSCodeを再起動してください" -ForegroundColor Cyan

Mac/Linux開発者向け

#!/bin/bash
# setup-vscode.sh

echo "🔧 VSCode Telemetry無効化スクリプト実行中..."

# macOSの場合
if [[ "$OSTYPE" == "darwin"* ]]; then
    SETTINGS_PATH="$HOME/Library/Application Support/Code/User/settings.json"
# Linuxの場合
else
    SETTINGS_PATH="$HOME/.config/Code/User/settings.json"
fi

# ディレクトリが存在しない場合は作成
mkdir -p "$(dirname "$SETTINGS_PATH")"

# settings.jsonが存在しない場合は作成
if [ ! -f "$SETTINGS_PATH" ]; then
    echo "📁 settings.jsonを新規作成します"
    echo "{}" > "$SETTINGS_PATH"
fi

# jqを使用してTelemetry設定を更新
if command -v jq &> /dev/null; then
    jq '. + {"telemetry.telemetryLevel": "off"}' "$SETTINGS_PATH" > tmp.json && mv tmp.json "$SETTINGS_PATH"
    echo "✅ VSCode Telemetry設定を無効化しました!"
else
    echo "⚠️ jqがインストールされていません。手動で設定してください。"
fi

echo "🔄 VSCodeを再起動してください"

まとめ:現実的な解決策

技術的制約がある以上、完璧な解決策は存在しません

でも、運用でカバーすることはできるので現状はこちらをどのようにうまくやるか、という方向に舵を切るのが良さそうです。


この記事が役に立った方は、ぜひチームメンバーにもシェアしてください!


Discussion