跳至内容

为什么选择 PSCompletions

PowerShell 内置补全的问题

PowerShell 虽然内置了 Tab 补全功能,但在实际使用中存在一些不足:

  • 补全菜单非常依赖终端大小 — 内置补全菜单没有滚动功能,如果所有补全项超出终端的显示范围,补全功能就直接失效了
  • 没有补全库 — PowerShell 本身没有提供补全库,用户需要自己寻找或编写补全脚本
  • 补全加载影响终端启动性能 — 传统方式需要在终端启动时一次性注入所有补全脚本,补全越多,启动越慢
  • 没有动态排序 — 补全项按固定顺序显示,无法根据使用频率自动调整
  • 缺乏统一管理 — 不同命令的补全来自不同来源,难以统一配置和管理

PSCompletions 如何解决这些问题

模块补全菜单

PSCompletions 提供了一个功能更完善的补全菜单:

  • 滚动菜单 — 完全不依赖终端大小,无论终端有多小都能显示补全菜单
  • 通配符过滤 — 输入 *? 等通配符快速过滤补全项
  • 补全预测符号 — 通过 ~?! 等符号,提前感知选用后的行为

详见 模块补全菜单

补全库

PSCompletions 拥有内置的补全库,覆盖数百个常用命令:

  • 动态加载 — 补全数据按需加载,添加几十个或上百个补全对终端加载速度几乎没有影响
  • 开箱即用psc add git 即可添加补全,无需额外配置
  • 统一管理 — 所有补全通过 psc 命令统一管理
  • 第三方集成 — 支持 argc-completionsCarapace 等第三方补全库

详见 补全库

动态排序

根据你的命令使用历史,自动调整补全项的显示顺序:

  • 使用频率高的补全项排在前面
  • 基于 PSReadLine 的命令历史记录
  • 所有补全都自动生效,无需单独配置

详见 补全项排序

多语言支持

支持多种语言,可以自由切换:

  • 目前支持 en-US 和 zh-CN
  • 每个补全项都有独立的多语言提示信息
  • 语言配置简单灵活

详见 语言

Released under the MIT.