Не удается найти параметр, который соответствует имени параметра «TokenKind» - PullRequest
0 голосов
/ 13 сентября 2018

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

enter image description here enter image description here

Так что я меняю их цвета на Set-PSReadlineOption:

Set-PSReadlineOption -TokenKind Operator -ForegroundColor Yellow

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

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

所在 位置 行: 1 字符: 22 * ​​1026 *

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

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

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

Моя версия PowerShell

enter image description here

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

1 Ответ

0 голосов
/ 04 октября 2018

Они внесли критические изменения в 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 здесь .

...