gpt4 book ai didi

c++ - 仅当当前行溢出 clang 格式时才在新行上加括号

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:21:06 24 4
gpt4 key购买 nike

我最近决定在我的 C++ 项目中包含一个 .clang-format 文件,以使代码更加统一和易于阅读。我最喜欢 Google 的默认值,除了我想使用 4 个空格缩进而不是两个。

这样做的问题是,当当前行超出 80 个字符的列限制时,它会使某些语句更难阅读。例如,在溢出的 if 语句中:

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

yet_another_condition 的对齐方式与 if block 的开头相匹配,这使得在没有某种中断的情况下难以阅读。理想情况下,我希望在这种情况下发生的事情是这样的:

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

但是,我只希望在当前行溢出到下一行时在新行上使用左大括号,如上例所示。在所有其他情况下,我希望左大括号位于同一行(适用于 if/for/while/switch 等语句和函数)。

是否可以在我的 .clang-format 文件中指定此行为,同时保持其余的 Google 默认值不变?

最佳答案

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

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

关于c++ - 仅当当前行溢出 clang 格式时才在新行上加括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47639836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com