背景与痛点
场景:
开发环境,用命令行开了好几个微服务,窗口标题都是一样的,不好分清哪个窗口是哪个服务的了。所有窗口默认显示相同的标题(如"C:\Windows\System32\cmd.exe dotnet run")。窗口多了,切换也不方便。
解决方案:
使用Windows Teminal 来运行命令启动服务,然后自定义动态设置窗口标题为目录名(完整路径)
格式。 例如:
YDT_Gateway(D:\Project\...\YDT_Gateway)
实现效果
实现步骤详解
步骤 1:确认配置文件路径
在 PowerShell 中运行以下命令查看配置文件路径:
$PROFILE
你会看到类似这样的路径(具体路径可能因系统而异):
C:\Users\你的用户名\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
步骤 2:创建配置目录和文件
如果 Documents\PowerShell
目录不存在,手动创建:
New-Item -Type Directory -Path (Split-Path $PROFILE -Parent) -Force
创建配置文件:
New-Item -Type File -Path $PROFILE -Force
2. 添加自动更新标题的代码
步骤 1:用记事本打开配置文件
notepad $PROFILE
或使用其他编辑器(如 VS Code):
code $PROFILE
步骤 2:粘贴以下代码
function prompt {# 获取当前完整路径(字符串格式)$currentPath = (Get-Location).Path# 提取最后一级目录名(兼容根目录)$folderName = if ($currentPath -match '\\$') {# 处理根目录(如 D:\)(Split-Path $currentPath -Parent) | Split-Path -Leaf} else {Split-Path $currentPath -Leaf}# 设置标题格式:最后一级目录名(完整路径)$host.UI.RawUI.WindowTitle = "$folderName($currentPath)"# 保留默认提示符(此行不可删除)"PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) "}