如何在 clang 格式的新行中控制 lessless 的对齐方式
How to control alignment of lessless in new line in clang-format
clang-format 默认格式化如下代码:
void func() {
return some_func(some_variables)
<< "aaaaaaaaaaaaaaasssssssssssssssaaaaaaaaaaaaaaaaaa"
<< "asdaaasssssssss";
}
但是,我希望 clang-format 可以将 <<
对齐到默认缩进宽度(8 个空格),例如
void func() {
return some_func(some_variables)
<< "aaaaaaaaaaaaaaasssssssssssssssaaaaaaaaaaaaaaaaaa"
<< "asdaaasssssssss";
}
我该怎么做?
clang-format AlignOperands
选项在这种情况下是相关的。这是来自 doc:
的描述
AlignOperands (bool)
If true, horizontally align operands of binary and ternary expressions.
Specifically, this aligns operands of a single expression that needs to be split over multiple lines.
AlignOperands
选项的默认值为 false
。在您的示例中,clang-format 的结果是 <<
与 some_func
对齐,就好像 AlignOperands
设置为 true
:
void func() {
return some_func(some_variables)
<< "aaaaaaaaaaaaaaasssssssssssssssaaaaaaaaaaaaaaaaaa"
<< "asdaaasssssssss";
}
如果未明确设置,此选项可能会由一些预定义的样式设置,例如 LLVM 样式 (--style=llvm
)。
要根据定义的缩进级别缩进 <<
,请确保将 AlignOperands
设置为 false
。例如,对于 IndentWidth: 4
,预期结果将是:
void func() {
return some_func(some_variables)
<< "aaaaaaaaaaaaaaasssssssssssssssaaaaaaaaaaaaaaaaaa"
<< "asdaaasssssssss";
}
预期结果的精确对齐,其中第 2 行缩进 2 个空格,第 3 行和第 4 行缩进 8 个空格,无法使用最新的 clang 格式 AFAICT 实现。
clang-format 默认格式化如下代码:
void func() {
return some_func(some_variables)
<< "aaaaaaaaaaaaaaasssssssssssssssaaaaaaaaaaaaaaaaaa"
<< "asdaaasssssssss";
}
但是,我希望 clang-format 可以将 <<
对齐到默认缩进宽度(8 个空格),例如
void func() {
return some_func(some_variables)
<< "aaaaaaaaaaaaaaasssssssssssssssaaaaaaaaaaaaaaaaaa"
<< "asdaaasssssssss";
}
我该怎么做?
clang-format AlignOperands
选项在这种情况下是相关的。这是来自 doc:
AlignOperands (bool)
If true, horizontally align operands of binary and ternary expressions.
Specifically, this aligns operands of a single expression that needs to be split over multiple lines.
AlignOperands
选项的默认值为 false
。在您的示例中,clang-format 的结果是 <<
与 some_func
对齐,就好像 AlignOperands
设置为 true
:
void func() {
return some_func(some_variables)
<< "aaaaaaaaaaaaaaasssssssssssssssaaaaaaaaaaaaaaaaaa"
<< "asdaaasssssssss";
}
如果未明确设置,此选项可能会由一些预定义的样式设置,例如 LLVM 样式 (--style=llvm
)。
要根据定义的缩进级别缩进 <<
,请确保将 AlignOperands
设置为 false
。例如,对于 IndentWidth: 4
,预期结果将是:
void func() {
return some_func(some_variables)
<< "aaaaaaaaaaaaaaasssssssssssssssaaaaaaaaaaaaaaaaaa"
<< "asdaaasssssssss";
}
预期结果的精确对齐,其中第 2 行缩进 2 个空格,第 3 行和第 4 行缩进 8 个空格,无法使用最新的 clang 格式 AFAICT 实现。