Не удается найти параметр, который соответствует имени параметра "TokenKind"

Я украсил свой Powershell в соответствии с этим блогом, но Operator а также Parameter серые как следует:

Поэтому я меняю их цвет Set-PSReadlineOption:

Set-PSReadlineOption -TokenKind Operator -ForegroundColor Yellow

но получите следующие ошибки:

Set-PSReadLineOption: Невозможно найти параметр, который соответствует имени параметра 'TokenKind'

行 位置 行: 1 字符: 22

  • Set-PSReadlineOption -TokenKind Operator -ForegroundColor Желтый
    • CategoryInfo: InvalidArgument: (:) [Set-PSReadLineOption] , ParameterBindingException
    • FullyQualifiedErrorId: NamedParameterNotFound, Microsoft.PowerShell.SetPSReadLineOption

Но справочные документы Set-PSReadlineOption показывает, что у него есть TokenKind параметр, который в свою очередь может иметь Operator как его параметр.

Я запутался, почему эта ошибка происходит.

Моя версия PowerShell

Спасибо за любые предложения!

1 ответ

Решение

Они внесли принципиальные изменения в PSReadline V2, об этом читайте здесь: https://github.com/lzybkr/PSReadLine/issues/738

Так что вместо

Set-PSReadlineOption -TokenKind String -ForegroundColor Magenta
Set-PSReadlineOption -TokenKind Variable -ForegroundColor Cyan

Вы бы сделали что-то вроде

$colors = @{}
$colors['String'] = [System.ConsoleColor]::Magenta
$colors['Variable'] = [System.ConsoleColor]::Cyan
Set-PSReadLineOption -Colors $colors

Я думаю, что есть способ указать цвет переднего плана / фона в хеш-таблице, но еще не выяснил.

Прочитайте документ Set-PSReadLineOption здесь.

Другие вопросы по тегам