Windows Teminal 自定义标题

背景与痛点

场景
开发环境,用命令行开了好几个微服务,窗口标题都是一样的,不好分清哪个窗口是哪个服务的了。所有窗口默认显示相同的标题(如”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)) "
  }
  

步骤 3:保存文件

来源链接:https://www.cnblogs.com/bcsg/p/18716362

© 版权声明
THE END
支持一下吧
点赞11 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码快捷回复

    暂无评论内容