mtb*_*mtb 4 c++ code-formatting uncrustify
我想像这样格式化代码:
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);
}
Run Code Online (Sandbox Code Playgroud)
现在,我想要结果:
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);
}
Run Code Online (Sandbox Code Playgroud)
我在 Uncrustify 0.63 中使用了以下选项:
代码宽度 = 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 = 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);
}
Run Code Online (Sandbox Code Playgroud)
有没有人遇到过函数调用在 if/for/while 中并且需要像这样拆分参数的情况?
小智 5
使用这些设置:
nl_func_call_start_multi_line = true
nl_func_call_args_multi_line = true
code_width = 120
Run Code Online (Sandbox Code Playgroud)
code_width: 尝试将代码宽度限制为N列nl_func_call_start_multi_line: 是否(在函数调用后添加换行符,如果(和)在不同的行。nl_func_call_args_multi_line: 是否,在函数调用中的每个之后添加换行符,如果(和)位于不同的行。可选:
nl_func_call_end_multi_line = true
Run Code Online (Sandbox Code Playgroud)
nl_func_call_end_multi_line:)如果(和)在不同的行,是否在函数调用之前添加换行符。| 归档时间: |
|
| 查看次数: |
893 次 |
| 最近记录: |