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
指定在 ReverseSearchHistory 或 HistorySearchBackward等函数中,历史记录搜索区分大小写。
参数属性
| 类型: | 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
使用 ForegroundColor 和 BackgroundColor 参数设置标记颜色选项时指定标记。
此参数的可接受值如下所示:
- 没有
- 注释
- 关键字
- 字符串
- 操作员
- 变量
- 指令
- 参数
- 类型
- 编号
- 成员
参数属性
| 类型: | TokenClassification |
| 默认值: | None |
| 接受的值: | None, Comment, Keyword, String, Operator, Variable, Command, Parameter, Type, Number, Member |
| 支持通配符: | False |
| 不显示: | False |
参数集
ColorSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-WordDelimiters
指定分隔 ForwardWord 或 KillWord等函数的单词的字符。
参数属性
| 类型: | 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 不生成输出。