- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
clang-format 默认格式化如下代码:
void func() {
return some_func(some_variables)
<< "aaaaaaaaaaaaaaasssssssssssssssaaaaaaaaaaaaaaaaaa"
<< "asdaaasssssssss";
}
但是,我希望 clang-format 可以对齐 <<
默认缩进宽度(8 个空格),例如
void func() {
return some_func(some_variables)
<< "aaaaaaaaaaaaaaasssssssssssssssaaaaaaaaaaaaaaaaaa"
<< "asdaaasssssssss";
}
我该怎么做?
最佳答案
clang 格式 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";
}
最新的 clang 格式 AFAICT 无法实现预期结果的精确对齐,其中第 2 行缩进 2 个空格,第 3 行和第 4 行缩进 8 个空格。
关于c++ - 如何在 clang 格式的新行中控制 lessless 的对齐方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49955660/
clang-format 默认格式化如下代码: void func() { return some_func(some_variables) << "aaaaaaaaaaaaaa
我是一名优秀的程序员,十分优秀!