如何通过clang-format实现同一行放置多个枚举标签?
解决方法
要让clang-format将大型枚举的成员按同行排列的格式输出,你需要在现有配置中添加**BreakEnum**选项:
在你的.clang-format配置里加入:
BreakEnum: false
这个选项的作用是控制枚举成员是否强制换行:
- 默认值为
true,会让每个枚举成员单独占一行(也就是你不想看到的格式) - 设置为
false后,clang-format会尽量将枚举成员放在同一行,直到达到ColumnLimit(你配置的是80)时才会换行到下一行,完全符合你想要的可读性格式。
修改后的完整配置如下:
BasedOnStyle: LLVM UseTab: Never IndentWidth: 4 TabWidth: 4 BreakBeforeBraces: Attach AllowShortIfStatementsOnASingleLine: false IndentCaseLabels: false ColumnLimit: 80 AccessModifierOffset: -4 FixNamespaceComments: true NamespaceIndentation: All BreakEnum: false
应用这个配置后,你的枚举会被格式化为:
enum class A { TAG, OTHER_TAG, OTHER_OTHER_TAG, OTHER_OTHER_OTHER_TAG... };
内容的提问来源于stack exchange,提问作者Orfeas Zografos
相关产品推荐
相关产品推荐

