7

PSReadLine в PowerShell имеет раскраску синтаксиса, но как вы задаете цвета?

2 ответа2

8

Есть пара разных способов. Вы можете сделать это:

Set-PSReadlineOption -TokenKind Comment -ForegroundColor Green

В качестве альтернативы:

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

Возможные цвета из перечисления .NET ConsoleColor. Фактические значения цвета RGB можно изменить в диалоговом окне свойств консоли.

Чтобы увидеть текущие настройки цвета, выполните Get-PSReadlineOption самостоятельно.

2

Хотя методы, описанные Джейсоном Ширком, все еще работают на моем Mac с PowerShell Core версии 6.0.1, как описано здесь, они больше не работают на моем компьютере с Linux, версия 6.1.0.

Похоже, что они полностью изменили интерфейс этого командлета: PowerShell 6 Set-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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .