提问人:Wolf 提问时间:12/6/2022 最后编辑:Wolf 更新时间:12/6/2022 访问量:224
clang-format 缩进 X 个宏
clang-format indents X macros
问:
我正在使用 c 样式的 X 宏来创建双向枚举,如下所示:
namespace ns
{
#define CFG_INT_TABLE \
X(CFG_1, "cfg_1", invalid_int_value), \
X(CFG_2, "cfg_2", invalid_int_value), \
X(CFG_3, "cfg_3", 10)
#define X(a,b,c) a
enum class IntegerConfigs : int
{
CFG_INT_TABLE,
TOTAL_ELEMENTS
}
#undef X
#define X(a,b,c) b
array ...
#undef X
[...]
}
但是,当运行 clang-format 时,它会像这样缩进行:
#define CFG_INT_TABLE \
X(CFG_1, "cfg_1", invalid_int_value), \
X(CFG_2, "cfg_2", invalid_int_value), \
X(CFG_3, "cfg_3", 10)
我无法从 clang-format 的选项中了解如何正确缩进代码,如果可能的话,我更喜欢只更改文件而不是代码本身的修复程序。.clang-format
这是我的文件:.clang-format
BasedOnStyle: GNU
AccessModifierOffset: -2
ColumnLimit: 100
IndentWidth: 4
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
FixNamespaceComments: true
SpaceBeforeParens: ControlStatements
AllowShortFunctionsOnASingleLine: Empty
NamespaceIndentation: All
BreakConstructorInitializers: AfterColon
ReferenceAlignment: Left
BreakBeforeBraces: Custom
Standard: c++20
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterClass: true
AfterControlStatement: false
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterStruct: true
AfterUnion: true
BeforeCatch: false
BeforeElse: false
IndentBraces: false
谢谢!
答: 暂无答案
评论
#define
// clang-format off