找不到与参数名称“ TokenKind”匹配的参数

时间:2018-09-13 08:29:09

标签: powershell psreadline

我根据this blog美化了Powershell,但是OperatorParameter如下所示是灰色的:

enter image description here enter image description here

所以我用Set-PSReadlineOption更改了颜色:

Set-PSReadlineOption -TokenKind Operator -ForegroundColor Yellow

但出现以下错误:

  

Set-PSReadLineOption:找不到与参数名称'TokenKind'匹配的参数。

     

所在位置行:1字符:22

     
      
  • Set-PSReadlineOption -TokenKind运算符-ForegroundColor黄色
  •   
    •   
    • CategoryInfo:InvalidArgument:(:) [Set-PSReadLineOption],ParameterBindingException
    •   
    • FullyQualifiedErrorId:NamedParameterNotFound,Microsoft.PowerShell.SetPSReadLineOption
    •   
  •   

但是Set-PSReadlineOption的{​​{3}}文档显示它具有一个TokenKind参数,而该参数又可以具有Operator作为其参数。

我很困惑为什么会发生此错误。

我的powershell版本是

help

谢谢您的建议!

1 个答案:

答案 0 :(得分:5)

他们对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文档here