Не удается найти параметр, который соответствует имени параметра "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 здесь.