1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| Write-Host "========================================" -ForegroundColor Yellow Write-Host "📌 配置文件已自动执行:$PROFILE" -ForegroundColor Green Write-Host "========================================" -ForegroundColor Yellow
function CheckAndActivateVenv { param( [string]$TargetDir = (Get-Location).Path ) $activateScript = Join-Path -Path $TargetDir -ChildPath ".venv\Scripts\Activate.ps1"
if (-not (Test-Path -Path $activateScript -PathType Leaf)) { return }
if ($env:VIRTUAL_ENV) { return }
try { . $activateScript Write-Host "✅ 已激活目录[$TargetDir]的.venv虚拟环境" -ForegroundColor Green } catch { Write-Host "❌ 激活[$TargetDir]的.venv失败:$_" -ForegroundColor Red } }
function cd { param([string]$path) if ($path) { Set-Location -Path $path } else { Set-Location } CheckAndActivateVenv }
function Prompt { CheckAndActivateVenv "PS $($executionContext.SessionState.Path.CurrentLocation)\> " }
Write-Host "✅ 配置文件执行完成,终端可正常输入命令" -ForegroundColor Green
Start-Sleep -Milliseconds 100 -ErrorAction SilentlyContinue CheckAndActivateVenv
|