每个预处理器条件后使用 clang-format 进行换行

问题描述 投票:0回答:1

我想让 clang 格式在运算符后面的每个预处理器条件后插入换行符。

例如:

#if ((CONDITION_A_SWITCH == ENABLED) || (CONDITION_A_SWITCH == ENABLED) || (CONDITION_A_SWITCH == ENABLED))
[...]
#endif

然后看起来像这样:

#if (   (CONDITION_A_SWITCH == ENABLED) \
     || (CONDITION_A_SWITCH == ENABLED) \
     || (CONDITION_A_SWITCH == ENABLED) )
[...]
#endif

在当前的配置中,我基本上可以做到这一点,但前提是超过 ColumnLimit。

# if ((CONDITION_A_SWITCH == ENABLED) || (CONDITION_A_SWITCH == ENABLED)                           \
      || (CONDITION_A_SWITCH == ENABLED))
[...]
# endif

有什么办法可以实现这个目标吗?

c formatting clang-format
1个回答
0
投票

您可以在官方文档hereSO中找到很好的解释。

在 clang-format 中,没有针对换行符的特定设置。要实现换行,在 clang 格式的配置文件中,您可以更改

ColumnLimit
IndentWidth
和对齐设置。

BreakBeforeBinaryOperators: NonAssignment
AlignEscapedNewlines: Right
AllowShortIfStatementsOnASingleLine: false
ColumnLimit: 0 # Disable the column limit for more aggressive breaking
SortIncludes: false
IndentPPDirectives: AfterHash
© www.soinside.com 2019 - 2024. All rights reserved.