如何控制 clang 格式新行中 lessless 的对齐方式
How to control alignment of lessless in new line in clang-format
clang 格式默认格式化以下代码,如下所示:
void func() {
return some_func(some_variables)
<< "aaaaaaaaaaaaaaasssssssssssssssaaaaaaaaaaaaaaaaaa"
<< "asdaaasssssssss";
}
但是,我希望 clang 格式可以<<
与默认缩进宽度(8 个空格)对齐,例如
void func() {
return some_func(some_variables)
<< "aaaaaaaaaaaaaaasssssssssssssssaaaaaaaaaaaaaaaaaa"
<< "asdaaasssssssss";
}
我该怎么做?
在这种情况下,clang 格式的AlignOperands
选项是相关的。以下是文档中的描述:
对齐操作数(布尔值)
如果为 true,则水平对齐二进制和三元表达式的操作数。
具体来说,这会对齐需要拆分为多行的单个表达式的操作数。
AlignOperands
选项的默认值为false
。在您的示例中,clang 格式的结果是<<
对齐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。
相关文章:
- 如何逐行读取文件,每行中的内容都用空格分隔并将其写入新文件中
- PangoLayout 中忽略的新行
- (C++) 使用诅咒打印从文件中读入的新行
- 为什么我的代码在终端中没有输出任何内容.开始新行没有错误
- 如何控制 clang 格式新行中 lessless 的对齐方式
- 取消脱壳:使用模板在多行类型定义中添加一个尖括号后的新行
- 如何在C++中删除新行字符
- C ++有趣的语法,用于在std::cout中打印新行
- QML ListView将新行添加到模型中的子向量
- 从文件中读取给我额外的新行字符C
- 使用 C++ 中的向量在新行上显示文本文件中的列
- 将 Unicode 字符存储在.txt文件中的新行中
- endl 不会在输出文件中创建新行
- 读取字符串,直到无getline中的C 中的新行
- 带有新行的字符串仅保存在一行中
- C++将字符串写入文本文件中的行;新行问题不起作用
- C++ 在文本文件中的特定字符后插入新行
- C++文本文档中写入新行并按索引读取
- 使用getchar()获取字符并将其保存到每次C 的新行中的文件中
- 在SFML中超过窗口边界时,将光标发送到新行