只有当当前行溢出时,才将大括号放在新行上 clang 格式化

5
我最近决定在我的C++项目中包含一个.clang-format文件,以使代码更加统一和易于阅读。我主要喜欢Google的默认设置,但我想使用4个空格缩进而不是两个。
这样做的问题是,在当前行超过80个字符的列限制时,某些语句会更难阅读。例如,在if语句中溢出的情况下:
if (some_condition || some_other_condition ||
    yet_another_condition) {
    // block starts here
}

yet_another_condition的排列方式与if块的开头匹配,这使得它在没有任何断点的情况下很难阅读。理想情况下,在这种情况下我希望发生以下情况:

if (some_condition || some_other_condition ||
    yet_another_condition)
{
    // block starts here
}

然而,我只希望在当前行溢出到下一行时,像上面的例子一样,在新行上放置左花括号。在所有其他情况下,我希望左花括号在同一行上(这适用于if / for / while / switch等语句以及函数)。

是否可以在保持Google默认设置不变的情况下,在我的.clang-format文件中指定此行为?

1个回答

0

clang-format 工具允许使用 BraceWrapping: Custom 指定自定义括号包装,但它不够灵活,无法意识到您所需的上下文。

提高可读性的替代方案是使用大于 4 的连续缩进,例如 ContinuationIndentWidth: 8


我担心这可能是情况。不过还是谢谢你的帮助,ContinuationIndentWidth 看起来是下一个最好的选择。 - AUD_FOR_IUV

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接