我正在尝试设置Powershell的WindowTitle(由Console托管)以匹配我的posh-git提示符的输出。所以,如果我有一个修改过的文件,我的提示就像是;
[Repo master + 0~1 -0]
我想将$ Host.UI.RawUI.WindowTitle设置为相同的东西,但字符串的'-0'部分似乎是某种转义序列。如果我做这样的事情:
$repoName = Split-Path -Leaf (Split-Path $GitStatus.GitDir)
$title = "[$repoName $($GitStatus.Branch)"
if($GitPromptSettings.EnableFileStatus -and $GitStatus.HasWorking) {
$title += " +$($GitStatus.Working.Added.Count)"
$title += " ~$($GitStatus.Working.Modified.Count)"
$title += " -$($GitStatus.Working.Deleted.Count)"
if ($GitStatus.Working.Unmerged) {
$title += " !$($GitStatus.Working.Unmerged.Count)"
}
}
$title += "]"
$Host.UI.RawUI.WindowTitle = $title
我得到的只是'-0]'。有关提供转义字符以使其正常运行的任何想法吗?
如果我将' - '字符更改为〜,那么我将整个标题改为:
[Repo master + 0~1~0]
提前致谢。
答案 0 :(得分:2)
这是Console2的错误。有关类似的错误报告,请参阅#421 Tab titles containing dash are truncated。
此外,Dash causes corruption in window title谈到了这个问题,但似乎还没有修复它。
使用不同的PowerShell主机,代码可以正常使用标题中的连字符。