PSReadLine in PowerShell hat Syntaxfarben , aber wie legen Sie die Farben fest?
PSReadLine in PowerShell hat Syntaxfarben , aber wie legen Sie die Farben fest?
Antworten:
Es gibt verschiedene Möglichkeiten. Du kannst das:
Set-PSReadlineOption -TokenKind Comment -ForegroundColor Green
Alternative:
$options = Get-PSReadlineOption
$options.CommentForegroundColor = Green
Die möglichen Farben stammen aus der .NET ConsoleColor Enumeration . Die tatsächlichen RGB-Farbwerte können im Dialogfeld mit den Konsoleneigenschaften geändert werden.
Um die aktuellen Farbeinstellungen anzuzeigen, führen Sie diese Get-PSReadlineOption
selbst aus.
Get-PSReadlineOption
nicht definiert zu sein und gibt nichts zurück, wenn es aus der Profildatei ausgeführt wird. Sobald die Shell geladen ist, gibt es jedoch kein Problem. Ich habe versucht, Import-Module PSReadline
vor diesen Zeilen ein Implizit hinzuzufügen , aber nichts hat getan.
Während die von Jason Shirk beschriebenen Methoden auf meinem Mac mit PowerShell Core Version 6.0.1 weiterhin funktionieren, wie hier dokumentiert , funktionieren sie auf meinem Linux-Computer mit Version 6.1.0 nicht mehr.
Es scheint, dass sie die Oberfläche dieses Cmdlets vollständig geändert haben: PowerShell 6 Set-PSReadlineOption .
Jetzt können Sie eine Hash-Farbtabelle als Wert für den -Colors
Parameter angeben. Das Gute ist, dass Sie jetzt viel mehr Farboptionen haben.
Aus den Beispielen:
$colors = @{
# ConsoleColor enum has all the old colors
"Error" = [ConsoleColor]::DarkRed
# A mustardy 24 bit color escape sequence
"String" = "$([char]0x1b)[38;5;100m"
# A light slate blue RGB value
"Command" = "#8470FF"
}
Set-PSReadLineOption -Colors $colors