Set-PSReadlineOption

自定义 PSReadline 中命令行编辑的行为。

语法

OptionsSet

Set-PSReadlineOption
    [-EditMode <EditMode>]
    [-ContinuationPrompt <String>]
    [-ContinuationPromptForegroundColor <ConsoleColor>]
    [-ContinuationPromptBackgroundColor <ConsoleColor>]
    [-EmphasisForegroundColor <ConsoleColor>]
    [-EmphasisBackgroundColor <ConsoleColor>]
    [-ErrorForegroundColor <ConsoleColor>]
    [-ErrorBackgroundColor <ConsoleColor>]
    [-HistoryNoDuplicates]
    [-AddToHistoryHandler <Func[string,bool]>]
    [-CommandValidationHandler <Action[CommandAst]>]
    [-HistorySearchCursorMovesToEnd]
    [-MaximumHistoryCount <Int32>]
    [-MaximumKillRingCount <Int32>]
    [-ResetTokenColors]
    [-ShowToolTips]
    [-ExtraPromptLineCount <Int32>]
    [-DingTone <Int32>]
    [-DingDuration <Int32>]
    [-BellStyle <BellStyle>]
    [-CompletionQueryItems <Int32>]
    [-WordDelimiters <String>]
    [-HistorySearchCaseSensitive]
    [-HistorySaveStyle <HistorySaveStyle>]
    [-HistorySavePath <String>]
    [<CommonParameters>]

ColorSet

Set-PSReadlineOption
    [-TokenKind] <TokenClassification>
    [[-ForegroundColor] <ConsoleColor>]
    [[-BackgroundColor] <ConsoleColor>]
    [<CommonParameters>]

说明

Set-PSReadlineOption cmdlet 在编辑命令行时自定义 PSReadline 模块的行为。 要查看 PSReadline 设置,请使用 Get-PSReadlineOption

示例

示例 1:设置前景和背景色

此示例将 PSReadline 设置为在灰色背景上显示带有绿色前景文本的 Comment 令牌。

Set-PSReadlineOption -TokenKind Comment -ForegroundColor Green -BackgroundColor Gray

示例 2:设置钟形样式

在此示例中, PSReadline 将响应需要用户注意的错误或条件。 BellStyle 设置为以 60 毫秒的 1221 Hz 发出声音蜂鸣声。

Set-PSReadlineOption -BellStyle Audible -DingTone 1221 -DingDuration 60

参数

-AddToHistoryHandler

指定一个 ScriptBlock ,用于控制将哪些命令添加到 PSReadline 历史记录中。

ScriptBlock 接收命令行作为输入。 如果 ScriptBlock 返回 $True,则命令行将添加到历史记录中。

参数属性

类型:

Func[String, Boolean]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-BackgroundColor

指定由 TokenKind 参数指定的标记的背景色。

此参数的可接受值如下所示:

  • 黑色
  • 深蓝
  • 深绿
  • 深青色
  • 深红
  • 深品红色
  • 深黄
  • 灰色
  • 深灰
  • 绿色
  • Cyan
  • 红色
  • 品红
  • 黄色
  • 白色

参数属性

类型:ConsoleColor
默认值:None
接受的值:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
支持通配符:False
不显示:False

参数集

ColorSet
Position:2
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-BellStyle

指定 PSReadline 如何响应各种错误和不明确条件。

有效值如下:

  • 听到的:一个简短的蜂鸣声。
  • 视觉对象:文本短暂闪烁。
  • :无反馈。

参数属性

类型:BellStyle
默认值:Audible
接受的值:None, Visual, Audible
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-CommandValidationHandler

指定从 ValidateAndAcceptLine调用的 ScriptBlock。 如果引发异常,则验证失败,并报告错误。

在引发异常之前,验证处理程序可以将光标置于错误点,以便更轻松地修复。 验证处理程序还可以更改命令行,例如更正常见的版式错误。

ValidateAndAcceptLine 用于避免使用无法使用的命令使历史记录混乱。

参数属性

类型:

Action[CommandAst]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-CompletionQueryItems

指定在未提示的情况下显示的最大完成项数。

如果要显示的项数大于此值, 则 PSReadline 会在显示完成项之前提示 yes/no

参数属性

类型:Int32
默认值:100
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ContinuationPrompt

指定在输入多行输入时在后续行的开头显示的字符串。 默认值为双倍大于符号(>>)。 空字符串有效。

参数属性

类型:String
默认值:>>
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ContinuationPromptBackgroundColor

指定延续提示的背景色。

可接受的值与 BackgroundColor 参数相同。

参数属性

类型:ConsoleColor
默认值:None
接受的值:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
支持通配符:False
不显示:False

参数集

OptionsSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ContinuationPromptForegroundColor

指定延续提示的前景色。

可接受的值与 BackgroundColor 参数相同。

参数属性

类型:ConsoleColor
默认值:None
接受的值:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
支持通配符:False
不显示:False

参数集

OptionsSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DingDuration

指定当 BellStyle 设置为 Audible时的蜂鸣声持续时间。

参数属性

类型:Int32
默认值:50ms
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DingTone

指定当 BellStyle 设置为 “可听时,蜂鸣声(Hz)中的音调。

参数属性

类型:Int32
默认值:1221
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-EditMode

指定命令行编辑模式。 使用此参数可重置由 Set-PSReadlineKeyHandler设置的任何键绑定。

有效值如下:

  • Windows:密钥绑定模拟 PowerShell、cmd 和 Visual Studio。
  • Emacs:密钥绑定模拟 Bash 或 Emacs。
  • Vi:密钥绑定模拟 Vi。

参数属性

类型:EditMode
默认值:Windows
接受的值:Windows, Emacs, Vi
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-EmphasisBackgroundColor

指定用于强调的背景色,例如突出显示搜索文本。

可接受的值与 BackgroundColor 参数相同。

参数属性

类型:ConsoleColor
默认值:None
接受的值:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
支持通配符:False
不显示:False

参数集

OptionsSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-EmphasisForegroundColor

指定用于强调的前景色,例如突出显示搜索文本。

可接受的值与 BackgroundColor 参数相同。

参数属性

类型:ConsoleColor
默认值:None
接受的值:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
支持通配符:False
不显示:False

参数集

OptionsSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ErrorBackgroundColor

指定用于错误的背景色。

可接受的值与 BackgroundColor 参数相同。

参数属性

类型:ConsoleColor
默认值:None
接受的值:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
支持通配符:False
不显示:False

参数集

OptionsSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ErrorForegroundColor

指定用于错误的前景色。

可接受的值与 BackgroundColor 参数相同。

参数属性

类型:ConsoleColor
默认值:None
接受的值:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
支持通配符:False
不显示:False

参数集

OptionsSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ExtraPromptLineCount

指定额外行数。

如果提示跨多个行,请指定此参数的值。 如果希望在 PSReadline 在显示某些输出后显示提示时有额外的行可用,请使用此选项。 例如, PSReadline 返回完成列表。

与以前版本的 PSReadline 相比,此选项的需要较少,但在使用该 InvokePrompt 函数时非常有用。

参数属性

类型:Int32
默认值:0
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ForegroundColor

指定由 TokenKind 参数指定的标记的前景色。

可接受的值与 BackgroundColor 参数相同。

参数属性

类型:ConsoleColor
默认值:None
接受的值:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
支持通配符:False
不显示:False

参数集

ColorSet
Position:1
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-HistoryNoDuplicates

此选项控制召回行为。 仍会将重复的命令添加到历史记录文件中。 设置此选项后,撤回命令时只会显示最新的调用。

重复的命令将添加到历史记录中,以便在召回期间保留排序。 但是,在回忆或搜索历史记录时,通常不希望多次看到该命令。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-HistorySavePath

指定保存历史记录的文件的路径。 文件名存储在变量 $($host.Name)_history.txt中,例如 ConsoleHost_history.txt

如果不使用此参数,默认路径如下所示:

$env:APPDATA\Microsoft\Windows\PowerShell\PSReadline\$($host.Name)_history.txt

参数属性

类型:String
默认值:$env:APPDATA\Microsoft\Windows\PowerShell\PSReadline\$($host.Name)_history.txt
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-HistorySaveStyle

指定 PSReadline 保存历史记录的方式。

有效值如下所示:

  • SaveIncrementally:在执行每个命令后保存历史记录,并在 PowerShell 的多个实例之间共享。
  • SaveAtExit:PowerShell 退出时追加历史记录文件。
  • SaveNothing:请勿使用历史记录文件。

参数属性

类型:HistorySaveStyle
默认值:SaveIncrementally
接受的值:SaveIncrementally, SaveAtExit, SaveNothing
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-HistorySearchCaseSensitive

指定在 ReverseSearchHistoryHistorySearchBackward等函数中,历史记录搜索区分大小写。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-HistorySearchCursorMovesToEnd

指示光标移动到使用搜索从历史记录加载的命令的末尾。 如果此参数设置为 $False,光标将保留在按下向上或向下箭头时所处的位置。

若要关闭此选项,可以运行以下命令之一:

Set-PSReadlineOption -HistorySearchCursorMovesToEnd:$False

(Get-PSReadlineOption).HistorySearchCursorMovesToEnd = $False

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-MaximumHistoryCount

指定要保存在 PSReadline 历史记录中的最大命令数。

PSReadline 历史记录与 PowerShell 历史记录是分开的。

参数属性

类型:Int32
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-MaximumKillRingCount

指定终止环中存储的最大项数。

参数属性

类型:Int32
默认值:10
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ResetTokenColors

指示此 cmdlet 将令牌颜色还原为默认设置。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

OptionsSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ShowToolTips

显示可能的完成时,工具提示将显示在完成列表中。

此选项默认处于启用状态。 默认情况下,此选项在早期版本的 PSReadline 中未启用。 若要禁用,请将此选项设置为 $False

参数属性

类型:SwitchParameter
默认值:True
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-TokenKind

使用 ForegroundColorBackgroundColor 参数设置标记颜色选项时指定标记。

此参数的可接受值如下所示:

  • 没有
  • 注释
  • 关键字
  • 字符串
  • 操作员
  • 变量
  • 指令
  • 参数
  • 类型
  • 编号
  • 成员

参数属性

类型:TokenClassification
默认值:None
接受的值:None, Comment, Keyword, String, Operator, Variable, Command, Parameter, Type, Number, Member
支持通配符:False
不显示:False

参数集

ColorSet
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-WordDelimiters

指定分隔 ForwardWordKillWord等函数的单词的字符。

参数属性

类型:String
默认值:;:,.[]{}()/\|^&*-=+–—―
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

None

无法将对象向下发送到 Set-PSReadlineOption

输出

None

Set-PSReadlineOption 不生成输出。