51 lines
1.9 KiB
PowerShell
51 lines
1.9 KiB
PowerShell
# Claude Code 를 완전히 종료한 뒤 일반 PowerShell 창에서 실행하세요.
|
|
# .claude.json 의 대/소문자 중복 프로젝트 키를 소문자 하나로 통일하고
|
|
# UnityMCP 서버 설정을 보존합니다.
|
|
|
|
$path = Join-Path $env:USERPROFILE ".claude.json"
|
|
$upper = "C:/repos/UnityProject/WhiteMan_Unity2D"
|
|
$lower = "c:/repos/UnityProject/WhiteMan_Unity2D"
|
|
|
|
# 백업
|
|
Copy-Item $path "$path.bak" -Force
|
|
Write-Host "백업 생성: $path.bak"
|
|
|
|
$json = Get-Content $path -Raw -Encoding UTF8 | ConvertFrom-Json
|
|
$projects = $json.projects
|
|
|
|
$unityMcp = $null
|
|
if ($projects.PSObject.Properties.Name -contains $upper) {
|
|
$unityMcp = $projects.$upper.mcpServers.UnityMCP
|
|
}
|
|
if ($null -eq $unityMcp -and ($projects.PSObject.Properties.Name -contains $lower)) {
|
|
$unityMcp = $projects.$lower.mcpServers.UnityMCP
|
|
}
|
|
|
|
if ($null -eq $unityMcp) {
|
|
Write-Warning "UnityMCP 설정을 찾지 못했습니다. 중단합니다."
|
|
return
|
|
}
|
|
|
|
# 소문자 키가 없으면 대문자 항목을 그대로 옮겨 사용
|
|
if (-not ($projects.PSObject.Properties.Name -contains $lower)) {
|
|
$projects | Add-Member -NotePropertyName $lower -NotePropertyValue $projects.$upper
|
|
}
|
|
|
|
# 소문자 키에 UnityMCP 보장
|
|
if ($null -eq $projects.$lower.mcpServers) {
|
|
$projects.$lower | Add-Member -NotePropertyName "mcpServers" -NotePropertyValue ([pscustomobject]@{}) -Force
|
|
}
|
|
$projects.$lower.mcpServers | Add-Member -NotePropertyName "UnityMCP" -NotePropertyValue $unityMcp -Force
|
|
|
|
# 대문자 중복 항목 제거
|
|
if ($projects.PSObject.Properties.Name -contains $upper) {
|
|
$projects.PSObject.Properties.Remove($upper)
|
|
}
|
|
|
|
# UTF-8 (BOM 없음) 으로 저장
|
|
$out = $json | ConvertTo-Json -Depth 100
|
|
[System.IO.File]::WriteAllText($path, $out, (New-Object System.Text.UTF8Encoding($false)))
|
|
|
|
Write-Host "완료. 대문자 키 제거 + 소문자 키에 UnityMCP 통일됨."
|
|
Write-Host "이제 Claude Code 를 다시 실행하세요."
|