SuperAPI AI 工具集

rust-impl-clap-cli

编程与开发

查看项目

更新于 10-16 06:17

技能介绍

用途:指导用 clap 4.x 构建 Rust CLI,覆盖 derive 宏 API 与 builder API 的取舍、子命令建模、可复用参数组、自定义值解析器、环境变量回退以及 shell 补全生成。

主要能力:用 #[derive(Parser)] 搭建编译期已知的 CLI;用 #[derive(Subcommand)] 与嵌套子命令实现 git remote add 式层级;用 #[derive(Args)] 加 #[command(flatten)] 共享参数;用 ValueEnum 处理封闭取值;用 value_parser 校验端口、范围与路径;用 env 属性实现 CLI > 环境变量 > 默认值优先级;用 clap_complete::generate 输出 Bash、Zsh、Fish、PowerShell、Elvish 补全。

必要用法:Cargo.toml 中写 clap = { version = "4.6", features = ["derive"] },需要补全时加 clap_complete = "4.6";使用 env 属性时须启用 env 特性。测试用 Cli::try_parse_from(...),不要调用会退出进程的 Cli::parse();每个 Parser 结构建议加一次 Cli::command().debug_assert()。

适用场景:编译期结构固定的 CLI 优先 derive;参数集由插件发现或配置文件在运行时决定时改用 builder API,同一命令树不要混用。

限制:资料未提供收费、价格、平台与效果信息;具体属性与方法清单见其 references 文件,官方文档为 docs.rs 上的 clap 与 clap_complete 页面。