为什么选择 PSCompletions
PowerShell 内置补全的问题
PowerShell 虽然内置了 Tab 补全功能,但在实际使用中存在一些不足:
- 补全菜单非常依赖终端大小 — 内置补全菜单没有滚动功能,如果所有补全项超出终端的显示范围,补全功能就直接失效了
- 没有补全库 — PowerShell 本身没有提供补全库,用户需要自己寻找或编写补全脚本
- 补全加载影响终端启动性能 — 传统方式需要在终端启动时一次性注入所有补全脚本,补全越多,启动越慢
- 没有动态排序 — 补全项按固定顺序显示,无法根据使用频率自动调整
- 缺乏统一管理 — 不同命令的补全来自不同来源,难以统一配置和管理
PSCompletions 如何解决这些问题
模块补全菜单
PSCompletions 提供了一个功能更完善的补全菜单:
- 滚动菜单 — 完全不依赖终端大小,无论终端有多小都能显示补全菜单
- 通配符过滤 — 输入
*、?等通配符快速过滤补全项 - 补全预测符号 — 通过
~、?、!等符号,提前感知选用后的行为
详见 模块补全菜单
补全库
PSCompletions 拥有内置的补全库,覆盖数百个常用命令:
- 动态加载 — 补全数据按需加载,添加几十个或上百个补全对终端加载速度几乎没有影响
- 开箱即用 —
psc add git即可添加补全,无需额外配置 - 统一管理 — 所有补全通过
psc命令统一管理 - 第三方集成 — 支持 argc-completions、Carapace 等第三方补全库
详见 补全库
动态排序
根据你的命令使用历史,自动调整补全项的显示顺序:
- 使用频率高的补全项排在前面
- 基于 PSReadLine 的命令历史记录
- 所有补全都自动生效,无需单独配置
详见 补全项排序
多语言支持
支持多种语言,可以自由切换:
- 目前支持 en-US 和 zh-CN
- 每个补全项都有独立的多语言提示信息
- 语言配置简单灵活
详见 语言