取消对拆分函数调用参数的信任
Uncrustify split function call parameters
我想像这样格式化代码:
-
a) 线宽最大120
-
b) -如果函数的调用长度大于120,则函数调用参数每行一个带缩进的参数,否则在一行中调用函数
-
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=真
ls_code_width=错误
nl_func_leave_one_liners=真实
indent_func_call_param=真
nl_func_def_start=添加
nl_func_def_start_single=删除
align_oc_msg_colon_first=错误
有了这些设置,我得到的只是这样:
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
:如果(
和)
在不同的行中,是否在函数调用的(
之后添加换行符nl_func_call_args_multi_line
:如果(
和)
在不同的行中,是否在函数调用中的每个,
之后添加换行符
可选:
nl_func_call_end_multi_line = true
nl_func_call_end_multi_line
:如果(
和)
在不同的行中,是否在函数调用的)
之前添加换行符
相关文章:
- 如何反转整数参数包
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用默认参数等选择模板专业化
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 函数调用中参数的顺序重要吗
- 部分定义/别名模板模板参数
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 使用不带参数的函数访问结构元素
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 如何使用Luacneneneba API正确读取字符串和表参数
- 在派生函数中指定void*参数
- 视图中的参数推导失败:take_while
- static_assert在宏中,但也可以扩展到可以用作函数参数的东西
- 使用指向成员的指针将成员函数作为参数传递
- 没有名称的C++模板参数
- 取消对拆分函数调用参数的信任