如何在 PowerShell 中的 PSReadLine 中设置颜色

如何在 PowerShell 中的 PSReadLine 中设置颜色

读取行在PowerShell中有语法颜色,但是如何指定颜色呢?

答案1

有几种不同的方法。你可以这样做:

Set-PSReadlineOption -TokenKind Comment -ForegroundColor Green

或者:

$options = Get-PSReadlineOption
$options.CommentForegroundColor = Green

可能的颜色来自.NETConsoleColor 枚举。可以在控制台属性对话框中更改实际的 RGB 颜色值。

要查看当前的颜色设置,请Get-PSReadlineOption单独执行。

答案2

虽然 Jason Shirk 描述的方法仍然适用于装有 PowerShell Core 版本 6.0.1 的 Mac,但如文档所述这里,它们不再适用于我的 Linux 机器(版本 6.1.0)。

看起来他们彻底改变了这个 cmdlet 的界面:PowerShell 6 设置 PSReadlineOption

现在,您可以提供一个颜色哈希表作为参数的值-Colors。好处是您现在有更多颜色选项。

从例子中可以看出:

$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

相关内容