首页 / 资讯中心 / 文章详情

866 个命令一网打尽:PSCompletions 内置补全库全解析与使用技巧

866 个命令一网打尽:PSCompletions 内置补全库全解析与使用技巧 ★ FEATURED ARTICLE
CLI开发工具【免费下载链接】PSCompletions适用于 PowerShell 和其他 Shell 的强大的命令补全器由 Rust 与 Lua 驱动项目地址https://gitcode.com/abgox/PSCompletions点击查看免费下载PSCompletions 是一款由 Rust 与 Lua 驱动的 Shell 命令补全器适用于 PowerShell、bash、zsh 与 fish。它内置了一个覆盖866 个常用命令行工具的补全库每条补全都带有子命令树、选项说明和中英文双语文本按下 Tab 键即可获得精准、带提示的补全菜单。本文带你完整解析这个内置补全库的组织方式并分享日常使用技巧。一、内置补全库有多大先认识它的家底打开 completions/ 目录你会看到整整 866 个子目录——一个目录就是一个命令的补全。其中分类数量说明全部补全866 个每个目录含config.json 英文/中文语言文件动态补全279 个额外带有hooks.lua能感知系统实时状态多实现命名226 个使用命令厂商形式区分不同实现覆盖范围从系统管理systemctl、journalctl、cryptsetup、包管理apt、brew、pnpm、cargo到开发工具git、docker、kubectl、terraform再到网络诊断nmap、strace基本把日常会用到的 CLI 都收进了这个库。二、一个补全长什么样标准的目录结构以git为例一条补全就是这样的结构completions/git/ ├── config.json # 元信息稳定 ID、适配的工具版本、语言列表 ├── hooks.lua # 可选动态补全逻辑由 Lua 编写 └── language/ ├── en-US.json # 英文补全清单manifest └── zh-CN.json # 中文补全清单各文件的作用config.json记录一个随机 UUID 作为稳定标识工具改名时引擎靠它识别这是同一条补全的新名字并声明支持的版本与语言如version: git 2.56.0。language/en-US.json 与 language/zh-CN.json真正的补全清单。git 的英文清单足足5.9 万行把git am --3way这类深层选项的描述都逐条翻译收录中文清单同样是 5.8 万行的完整翻译而非简单摘要。hooks.lua约三分之一的补全带有这个文件用 Lua 脚本让补全活起来下一节细讲。数据格式并非随意约定仓库提供了严格的 JSON Schema 进行校验见 schema/completion-manifest.zh-CN.json。三、Manifest 数据模型子命令、选项与提示文本每条补全的核心是一张子命令树理解它的四个关键字段就看懂了全部 866 条字段含义补全菜单中的作用next子命令列表输入docker Tab时弹出run、ps、logs等option当前层级的选项弹出--force、-o等参数附带用法与说明global_option任意层级都生效的选项如--help在树的任何位置都可用tip/usage提示文本与用法菜单中每个候选项下方的小字说明举个最小例子摘自 authoring/manifest.mddeploy命令有自己的选项--tag又有下级子命令status、rollback——选项留在option数组子命令放进next数组树形结构一目了然。引擎解析时的行为规则很克制git commit Tab只会展示commit层级的内容不会把父级的候选混进来选项则按就近祖先规则向上冒泡。完整机制见 design/completion.md。四、动态补全hooks.lua 让选项感知真实环境 静态清单再大也猜不到你机器上装了哪些包。这正是 Lua 登场的地方。看 completions/apt/hooks.lua输入apt install Tab时脚本调用apt-cache pkgnames列出本机仓库里所有可安装的软件包输入apt remove Tab时改由dpkg-query列出已安装的包apt upgrade Tab则实时给出可升级的包及其当前版本。866 条补全中有 279 条配备了这样的钩子。钩子的编写规范何时该写钩子、有哪些禁令记录在 authoring/hooks.md引擎侧的接口设计见 design/hooks.md。五、同名工具不同实现厂商命名规则很多命令存在多个实现cat有 GNU 版和 uutils 版grep有 GNU 版和 BSD 版。库里用命令厂商的目录名区分它们例如 completions/catGNU/、completions/catuutils/、completions/grepBSD/。统计一下后缀共 226 个GNU 114 个、uutils 105 个其余还有 BSD、mawk、sudo-project、Microsoft 等。这意味着如果你装的是 uutils 版工具就有一条为它量身定制的补全参数行为不会出现偏差。六、使用技巧把 866 条补全用起来 1. 一键安装你需要的补全补全库不是全量塞给你的而是按需安装。装好模块后# PowerShell 中安装模块 Install-Module PSCompletions # 按需添加补全 psc add gitbash / zsh / fish 用户可运行仓库中的 install.sh 完成安装。2. 常用管理命令速查命令作用psc add name安装指定补全可一次装多个psc list查看本机已装补全psc info name查看某条补全的详情与路径psc update检查补全库更新上游改名会自动迁移psc alias add给补全添加触发别名更短的词也能唤起菜单这些命令的完整参数面含别名抢占规则等细节见 design/psc-cli.md。3. 三个让体验加分的习惯切换中文菜单所有清单都提供zh-CN版本界面提示与补全说明支持中文中文清单示例见 completions/git/language/zh-CN.json。用历史排序补全菜单会基于你的命令使用历史动态排序常用的子命令自然浮到最上面。别名触发默认可以用命令别名唤起对应补全菜单省去多敲几个字母。七、延伸阅读这些资料值得收藏 资料路径补全清单字段全解与示例authoring/manifest.md动态钩子编写规范authoring/hooks.md引擎如何解析补全树design/completion.md补全 Schema中文schema/completion-manifest.zh-CN.jsonpscCLI 设计design/psc-cli.md多 Shell 桥接实现module/PSCompletions/从 866 条开箱即用的补全、到 279 个能感知系统状态的 Lua 钩子再到 226 个按实现精细区分的条目PSCompletions 的内置补全库把按 Tab 就能想到下一步这件小事做到了很细的颗粒度。选上你高频使用的十几个命令跑一次psc add剩下的交给 Tab 键就好。赞分享CLI开发工具【免费下载链接】PSCompletions适用于 PowerShell 和其他 Shell 的强大的命令补全器由 Rust 与 Lua 驱动项目地址https://gitcode.com/abgox/PSCompletions点击查看免费下载相关推荐猫抓 cat-catch 使用教程浏览器视频嗅探、M3U8 解析与下载一键搞定猫抓 cat catch 使用教程浏览器视频嗅探、M3U8 解析与下载一键搞定 网页里的视频右键存不下来开发者工具里翻半天也找不出真实地址猫抓cat cCLI开发工具全网小说一网打尽novel-downloader完整使用指南与技巧全网小说一网打尽novel downloader完整使用指南与技巧 还在为喜爱的小说网站关闭而担心吗还在为付费章节无法永久保存而烦恼吗novel down网页爬虫前端OCRMAAC与其他多智能体算法的对比分析MADDPG vs MAAC vs COMAMAAC与其他多智能体算法的对比分析MADDPG vs MAAC vs COMA 多智能体强化学习MARL在协作任务、资源分配和复杂系统控制中展现出强大潜上一篇如何用消费级GPU实现毫秒级金融预测Kronos模型部署终极指南下一篇三分钟构建、免费解锁Wand-Enhancer WeMod 专业版强化完全实操创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站