gpt4 book ai didi

c++ - Uncrustify 拆分函数调用参数

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:51:25 28 4
gpt4 key购买 nike

我想像这样格式化代码:

  • a) 线宽最大120

  • b)- 如果调用函数的长度> 120,则函数调用参数每行一个,缩进 else 函数调用在一行中

  • c) - 如果函数调用在 if、for、while 等中......参数的格式应如 b)

我有代码(这只是一个虚构的):

void a_function()
{
if(verify_if_the_conditions_are_meet(first_parameter, second_parameter, third_parameter, fourth_parameter, fifth_parameter, sixth_parameter ))
{
call_a_function_with_many_parameters(first_parameter, second_parameter, third_parameter, fourth_parameter, fifth_parameter, sixth_parameter);
}

save(first_parameter, second_parameter, third_parameter, fourth_parameter, fifth_parameter, sixth_parameter);
}

现在,我想得到结果:

void a_function()
{
if(verify_if_the_conditions_are_meet(
first_parameter,
second_parameter,
third_parameter,
fourth_parameter,
fifth_parameter,
sixth_parameter ))
{
call_a_function_with_many_parameters(
first_parameter,
second_parameter,
third_parameter,
fourth_parameter,
fifth_parameter,
sixth_parameter);
}

save(first_parameter, second_parameter, third_parameter, fourth_parameter, fifth_parameter, sixth_parameter);
}

我在 Uncrustify 0.63 中使用了以下选项:

code_width = 120

ls_func_split_full = true

ls_code_width = false

nl_func_leave_one_liners = true

indent_func_call_param = true

nl_func_def_start = add

nl_func_def_start_single = remove

align_oc_msg_colon_first = false

有了这个设置,我得到的是这样的:

void a_function()
{
if(verify_if_the_conditions_are_meet(first_parameter, second_parameter, third_parameter, fourth_parameter,
fifth_parameter, sixth_parameter ))
{
call_a_function_with_many_parameters(
first_parameter,
second_parameter,
third_parameter,
fourth_parameter,
fifth_parameter,
sixth_parameter);
}

save(first_parameter, second_parameter, third_parameter, fourth_parameter, fifth_parameter, sixth_parameter);
}

有没有人遇到函数调用在 if/for/while 中并且需要像这样拆分参数的情况?

最佳答案

使用这些设置:

nl_func_call_start_multi_line   = true
nl_func_call_args_multi_line = true
code_width = 120
  • code_width : 尝试将代码宽度限制为 N
  • nl_func_call_start_multi_line : ( 后是否加换行在函数调用中 if ()在不同的行。
  • nl_func_call_args_multi_line : 是否在每个 , 后添加换行符在函数调用中 if ()在不同的行。

可选:

nl_func_call_end_multi_line     = true
  • nl_func_call_end_multi_line : ) 前是否加换行在函数调用中 if ()在不同的行。

关于c++ - Uncrustify 拆分函数调用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38479039/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com