如何让Clap Derive不将选项名中的下划线转为连字符
如何让Clap Derive宏全局生成下划线分隔的长参数
当然可以通过全局配置实现,不用给每个字段单独设置。只需要在#[command]属性里添加args_config参数,指定参数命名风格为snake_case即可。
修改后的代码如下:
/// Simple program to greet a person #[derive(Parser, Debug)] #[command( author, version, about, long_about = None, args_config = ArgsConfig::default().arg_name_case(ArgNameCase::Snake) )] struct Args { /// Name of the person to greet #[arg(short, long)] full_name: String, }
这样配置后,所有通过derive宏定义的参数长选项都会自动生成为下划线分隔的格式(比如--full_name),而不是默认的连字符格式。
内容的提问来源于stack exchange,提问作者Timmmm
相关产品推荐
相关产品推荐

