2

Posh-gitプロンプトの出力と一致するように、Powershell(コンソールによってホストされている)のWindowTitleを設定しようとしています。したがって、変更したファイルが 1 つある場合、プロンプトは次のようになります。

[レポマスター +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]」だけです。これが適切に機能するようにエスケープ文字を提供するアイデアはありますか?

「-」文字を ~ に変更すると、タイトル全体が次のようになります。

【レポマスター+0~1~0】

前もって感謝します。

4

1 に答える 1

2

これは Console2 のバグです。同様のバグ レポートについては、#421 ダッシュを含むタブ タイトルが切り捨てられるを参照してください。

また、Dash はウィンドウ タイトルの破損を引き起こしますが、この問題についてはまだ修正されていないようです。

別の PowerShell ホストでは、タイトルにハイフンを使用してもコードは正常に機能します。

于 2014-03-21T01:47:33.243 に答える