如何删除 posh-git window 标题开头的废话?

How do I remove the cruft at the start of my posh-git window title?

我正在使用 posh-git 作为我的 powershell window,提示很完美:

S:\Repos\DevTools [master ≡ +1 ~2 -0 !]>

但是 window 的标题在开头有多余的内容:

posh~git ~ DevTools [master]

有谁知道我怎样才能去掉多余的 posh~git ~?它似乎没有必要或有用,但也许我只是不明白它想告诉我什么。

好吧,你看看那个!今天才修好! https://github.com/dahlbyk/posh-git/pull/567

谢谢大家!

为了详细说明已接受的答案,有一个可用的自定义选项,可让您设置自定义前缀,或者不设置前缀。

在您的 Powershell 配置文件中(通过 运行 $Profile 找到它,在我的例子中是这个文件:C:\Users\myuser\Documents\PowerShell\Microsoft.PowerShell_profile.ps1)添加以下内容:

Import-Module posh-git # should already exist if you have posh-git set up
$GitPromptSettings.EnableWindowTitle = $TRUE # or set it to a string if you want a different custom prefix
$GitPromptSettings.AdminTitlePrefixText = "" # optional, remove the prefix when running as admin

重新启动您的会话,您应该已经启动并且 运行。

从 posh-git 1.0.0 开始,posh~git ~ 前缀不再默认存在。

另请注意,EnableWindowTitle 属性 不再存在于全局 $GitPromptSettings object 中;此 属性 现在称为 WindowTitle 并且是一个您可以覆盖以自定义提示的函数,例如在你的 $profile.

例如,当 运行 提升时,下面将 window 标题文本更改为使用 Unicode character 1f6e1 (the shield symbol) 而不是默认文本 Admin:

$global:GitPromptSettings.WindowTitle = {
    param($GitStatus, [bool]$IsAdmin)
        "$(if ($IsAdmin) {"`u{1f6e1} "})$(if ($GitStatus) {"$($GitStatus.RepoName) [$($GitStatus.Branch)]"} else {Get-PromptPath}) - PowerShell $($PSVersionTable.PSVersion.Major).$($PSVersionTable.PSVersion.Minor) $(if ([IntPtr]::Size -eq 4) {'32-bit '})($PID)"
}