Ich habe eine Powershell-Konfigurationsdatei erstellt, die die Eingabeaufforderung zum Hinzufügen von Farbe ändert (abhängig von Dingen wie Git Branch usw.).
Das sieht gut aus, bis ich ein Konsolenprogramm wie git ausgeführt habe, das auch farbigen Text ausgibt. Danach scheint sich Powershell entschlossen zu haben, Escape-Codes wörtlich auszugeben.
Einfacher mit einem Screenshot zu verstehen:
- ist die Ausgabe bevor ich git starte, beachte die kolorierte Ausgabe des Textes "colorized>"
- ist die Ausgabe, nachdem ich git ausgeführt habe, beachten Sie, dass die Escape-Codes wörtlich ausgegeben werden
Hier ist meine Powershell-Konfigurationsdatei:
function prompt {
"" + [char]0x001b + "[35m colorized >" + [char]0x001b + "[0m"
}
Gibt es einen Trick, um die Funktionalität der ANSI-Codes wieder zu aktivieren? Beachten Sie, dass Git nur ein Beispiel ist. Ich habe mehrere Programme gefunden, die dies vermasseln, aber nicht alle.
MSBuild funktioniert beispielsweise einwandfrei.
prompt
Funktion verwenden, ohne dass Sie einen Escape-Code benötigen ( Write-Host
stattdessen verwenden).