当使用 Clang-format 格式化具有 LTTNG 跟踪定义的文件时,默认设置使 ctf_enum_value 缩进非常难看:
TRACEPOINT_ENUM(com_fafa,
fafa_enum,
TP_ENUM_VALUES(ctf_enum_value("AAA", AAA)
ctf_enum_value("BBB", BBB)
ctf_enum_value("CCC", CCC)))
是否有任何选项可以让 clang-format 像下面一样对齐 ctf_enum_values?
TRACEPOINT_ENUM(com_fafa,
fafa_enum,
TP_ENUM_VALUES(ctf_enum_value("AAA", AAA)
ctf_enum_value("BBB", BBB)
ctf_enum_value("CCC", CCC)))
我想问题是这些列表中没有逗号,clang-format 可能不喜欢...
使用下面的答案中指出的“ContinuationIndentWidth:0”在某些情况下效果很好,但对于其他情况,它会使情况变得更糟,例如你可能会得到这个:
TRACEPOINT_EVENT(
com_fafa,
L_ERROR_fafa,
TP_ARGS(const enum fafa_type, e_code_, const int, msg_type_, const char*, file_line_),
TP_FIELDS(ctf_string(file_line, file_line_) ctf_integer(int, e_code, e_code_) ctf_integer(int, msg_type, msg_type_)
ctf_integer_nowrite(int, u_trace_id, -1) ctf_string_nowrite(e_msg, "")))