简短说明
这是 PSReadLine 模块更改的摘要。 有关完整的更改列表,请参阅 PSReadLineChangeLog。
- 当前预览版:v2.4.4-beta4
- 当前稳定版本:v2.3.6
详细说明
PSReadLine 发布历史记录
自 Windows PowerShell 5.1 中随附的版本以来,PSReadLine 有许多更新。
- v2.3.6 随附在 PowerShell 7.4.7 和 7.5.0 中
- v2.3.5 随附在 PowerShell 7.4.2 和 7.5.0-preview.3 中
- v2.3.4 随 PowerShell 7.4.0-rc.1 发布
- v2.2.6 随附在 PowerShell 7.3.0 中
- v2.1.0 随 PowerShell 7.2.5 发布
- 随 PowerShell 7.0.11 一起发布的 v2.0.4
- v2.0.0 随附在 Windows PowerShell 5.1 中
2.4.4-beta4 - 2025-08-28
- 为 PSReadLine 添加了屏幕阅读器支持 - 重新绘制终端缓冲区的新呈现实现,以避免屏幕阅读器不必要的和令人困惑的输出。
v2.4.3-beta3 - 2025-07-23
可以从 PowerShell 库获取 PSReadLine 模块的 v2.4.3-beta3 版本。
此版本包括以下更改:
- 允许从 OnIdle 事件处理程序中自动接受当前输入
- 添加 VS Code 任务和调试配置
- 将游标顶部值的绑定检查添加到 InvokePrompt
- 修复 SamplePSReadLineProfile.ps1 中的拼写错误
- 修复行尾和缓存某些反射作
- 通过确保完成 PSReadLine 一次性初始化来提高测试可靠性
v2.4.2-beta2 - 2025-04-16
可以从 PowerShell 库获取 PSReadLine 模块的 v2.4.2-beta2 版本。
此版本包括以下更改:
- 添加专用字段以指示 PSReadLine 是否已初始化并就绪
- 使用 CFS 安装模块并部署模块发布框
v2.4.1-beta1 - 2025-02-28
- 避免在不需要时查询游标位置
- 处理事件处理程序进行的缓冲区更改
- 更新 SelectCommandArgument 以正确处理 CLI 命令的 POSIX 样式选项
v2.4.0-beta0 - 2024-03-01
- 修复了在 Linux 上使用
xclip将文本复制到系统剪贴板的问题 - Tab 自动补全使用适用于该平台的正确目录分隔符。
- PowerShell 版本 5.1 现在是支持的最低版本
- 从父终端进程获取 Windows 键盘布局
- 修复几个 VI 键处理程序以正确关闭编辑组
- 以流式传输方式读取历史记录文件以高效处理大型文件
v2.3.6 - 2024-10-03
这是生成管道的维护版本。 此版本中没有对 PSReadLine 所做的更改。
v2.3.5 - 2024-04-02
这是修复两个问题的服务版本:
- 从 SBOM 生成中排除测试组件,以避免误报安全漏洞报告。
- 包括对 PSReadLine v2.3.4 中发现的回归问题的修复。
v2.3.4 - 2023-10-02
除了几个 bug 修复之外,此版本还包括以下增强功能:
- 预测性 IntelliSense 的可滚动列表视图
- 根据终端窗口的大小自动调整大小
- 最多可以包含 50 个预测结果
- 显示结果数和当前预测源的动态列表标头
- 在预测列表视图中显示工具提示
- 改进了敏感历史记录清理,以允许从
az、gcloud和kubectl检索令牌 - 改进默认敏感历史记录清理以允许安全属性访问
- 添加了对单词大写转换、小写转换和大写的支持
- 使选项卡完成显示其
ListItemText仅大小写不同的结果 - 在 VI 编辑模式下支持文本对象命令
<d,i,w> - 将内联预测的默认颜色更改为暗色
- 将示例添加到 README,以便通过
Alt+x将 Unicode 代码点转换为 Unicode char - 在 Windows 上添加
TerminateOrphanedConsoleApps选项,以终止孤立的控制台附加进程,这可能会扰乱从控制台输入的读取 - 使用历史记录结果取消重复预测结果
- 使选项卡完成显示其
ListItemText仅大小写不同的结果 - 添加对上标、下标和大写单词的支持
- 处理参数帮助内容的多行描述
v2.2.6 - 2022-06-27
在此版本中,默认情况下会启用预测 IntelliSense 功能,具体取决于以下条件:
- 如果支持虚拟终端(VT),并且 PSReadLine 在 PowerShell 7.2 或更高版本中运行,则 PredictionSource 设置为
HistoryAndPlugin - 如果支持 VT,并且 PSReadLine 在 7.2 之前在 PowerShell 中运行,则 PredictionSource 设置为
History - 如果不支持 VT,则将 PredictionSource 设置为
None
v2.2.5 - 2022-05-03
官方维护版本,修复了一些小错误。
v2.2.3 - 2022-04-20
- 尊重
ReadOneOrMoreKeys()中的取消操作
v2.2.2 - 2022-02-22
- PSReadLine 添加了两个新的预测性 IntelliSense 功能:
- 添加了参数 PredictionViewStyle,以允许选择新的
ListView。 - 将 PSReadLine 连接到 PowerShell 7.2 中引入的
CommandPredictionAPI,以允许用户导入可从自定义源呈现建议的预测器模块。
- 添加了参数 PredictionViewStyle,以允许选择新的
- 已更新为使用 1.0.0 版本的
Microsoft.PowerShell.Pager来获取动态帮助 - 改进了敏感历史记录项的清理
- 在
Ctrl+r编辑模式下使Ctrl+s和Vi的工作方式与Emacs编辑模式相同 - 在 VI 模式下,使用
d0命令将多行缓冲区中当前逻辑行的开头删除掉。 - 使用
d^从逻辑行的第一个非空白字符中删除 - VI 模式:
Undo现在将光标保留在删除开始时的位置下 - 使
HistorySearchBackward和HistorySearchForward能够导航列表视图 - 添加
SelectCommandArgument可绑定函数 - 删除
LineIsMultiline,以支持多行不可知算法 - 大量的 bug 修复和较小的改进
v2.1.0 - 2020-11-02
此版本汇总了自 2.0.4 版本以来添加的以下增强功能:
- 从命令历史记录添加预测性 IntelliSense 建议
- 许多错误修复和 API 改进
v2.0.4 - 2020-08-05
- vi模式:将
dd修改为删除逻辑行而不是整个缓冲区 - vi-mode:添加
dG删除直到多行缓冲区末尾 - vi-mode:
dd现在一致地处理单行或多行缓冲区 - vi-mode:使
D和d$删除到当前逻辑行的末尾 - vi-mode - 使
dj删除当前和下一个n逻辑行 - vi-mode:使用
dk删除多行缓冲区中的上一个n逻辑行和当前逻辑行 - vi-mode:添加
dgg删除从缓冲区开头到当前逻辑行的内容 - 将
PredictionColor重命名为InlinePredictionColor - 可以从用户的配置文件中设置
MaximumHistoryCount - 使用选项
-PredictionSource和Set-PSReadLineOption将参数None添加到History - 使函数
AcceptSuggestion并AcceptNextSuggestionWord可绑定 - 通过将
key更改为apikey,以放宽筛选的敏感词,减少误报。 - 使
ViForwardChar能够接受建议 - 将
ViBackwardChar和ViForwardChar公开为可绑定函数
v2.0.3 - 2020-07-22
- 小问题修复
v2.0.2 - 2020-06-05
- 在本地范围内运行脚本,使 PSReadLine 在
ConstrainedLanguageMode中的 PSES 中正常工作 - 其他错误修复
v2.0.1 - 2020-04-01
- 将
-Chord参数添加到Get-PSReadLineKeyHandler,以允许搜索特定键绑定 - 其他小问题修复
v2.0.0 - 2020-02-11
- 允许
InsertPairedBraces环绕所选文本 - 大量的 bug 修复和较小的改进
- 筛选敏感历史记录项,避免将它们写入历史记录文件
- 支持逐行操作,包括粘贴和撤消
- 使
y0在VI模式上移到逻辑行的开头 - 添加 API 以检测屏幕阅读器是否处于活动状态
- 仅
PageUp/PageDown和CtrlPageUp/CtrlPageDownWindows - 添加脚本块 vi 模式指示器选项
- 支持在多行缓冲区中应用 vi 模式
G和gg移动 - 支持在 vi 模式下
_和$移动到逻辑行的开头和结尾 - 添加
xtermjs键绑定 - 在 vi 插入模式下支持
Ctrl+u - 在非 Windows 上启用
Ctrl+c - 菜单完成时的交互式筛选
-
Shift+Insert在 Windows 模式下绑定到“粘贴” -
Ctrl+t在 Emacs 模式下绑定到SwapCharacters -
Ctrl+x,Ctrl+e在 Emacs 中绑定到ViEditVisually -
HistoryNoDuplicates默认处于打开状态