clang-format配置AfterEnum=false仍出现枚举大括号换行问题求助
你遇到的问题是clang-format 12版本中AllowShortEnumsOnASingleLine配置项的行为优先级高于BraceWrapping.AfterEnum导致的,你当前配置里的AllowShortEnumsOnASingleLine: false会强制枚举左大括号换行,覆盖你设置的AfterEnum: false规则。
解决方案
按如下修改你的.clang-format配置即可:
# 保留原有AfterEnum: false的配置不变 BraceWrapping: AfterEnum: false # 将该配置项从false改为true AllowShortEnumsOnASingleLine: true
修改后即可实现你需要的枚举左大括号和枚举名同行的效果。
额外排查步骤
如果修改后仍未生效,可按如下步骤确认:
- 执行
clang-format --version确认你实际调用的clang-format版本为12.0.0,避免编辑器插件调用了其他版本的程序导致配置不生效。 - 在代码所在目录执行
clang-format --dump-config | grep -E "AfterEnum|AllowShortEnumsOnASingleLine",查看实际生效的配置值是否和你设置的一致,排除上级目录存在优先级更高的.clang-format文件的情况。
内容的提问来源于stack exchange,提问作者JakubGamer
相关产品推荐
相关产品推荐

