You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 11:27:32