gpt4 book ai didi

c++ - clang-format:如何对齐结构初始化列表

转载 作者:行者123 更新时间:2023-11-28 04:12:36 44 4
gpt4 key购买 nike

我有一个结构数组:
(假设标识符在别处是 #defined...)

typedef struct
{
int a;
char id[2+1];
} T;

const T T_list[] = {
{ PRIO_HOUSE, "HI" },
{ PRIO_SOMETHING_ELSE, "WO" }
// ...
}

我希望 clang-format 像这样格式化它:

const T T_list[] = {
{ PRIO_HOUSE , "HI" },
{ PRIO_SOMETHING_ELSE, "WO" }
// ...
}

这可能吗?

我已经阅读了文档,但在这方面我没有找到任何有用的东西。 https://clang.llvm.org/docs/ClangFormatStyleOptions.html

这是我的.clang-format

---
BasedOnStyle: WebKit
BreakBeforeBraces: Allman
BraceWrapping:
AfterEnum: false
IndentCaseLabels: 'true'
AlignConsecutiveAssignments: 'true'
AlignConsecutiveDeclarations: 'true'
AlignEscapedNewlines: 'true'
AlignTrailingComments: 'true'
AllowShortFunctionsOnASingleLine: 'false'
#...

最佳答案

从 clang-format 版本 13 (2021) 开始,有一个新的 AlignArrayOfStructures 选项可以做到这一点。从问题中链接的现在更新的文档中:

AlignArrayOfStructures (ArrayInitializerAlignmentStyle) clang-format 13

if not None, when using initialization for an array of structs aligns the >fields into columns.

还有一个带有 AlignArrayOfStructures: Left 的例子:

struct test demo[] =
{
{56, 23, "hello"},
{-1, 93463, "world"},
{7, 5, "!!" }
};

关于c++ - clang-format:如何对齐结构初始化列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57338318/

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