【问题标题】:Multiple successive declarations/definitions on same indentation level同一缩进级别上的多个连续声明/定义
【发布时间】:2017-05-06 23:33:53
【问题描述】:

我正在尝试在 Ubuntu 14.04 上使用 clang-format(3.8 版)清理我的 C 代码库。作为一项要求,我需要 clang-format 来维护(或更好地执行)多个连续声明/定义的缩进。例如:

void foo() 
{
    int        a;
    float      b;
    myLongType c;
}

运行 clang-format 后,我​​得到以下输出:

void foo() 
{
    int a;
    float b;
    myLongType c;
}

是否有我不知道的保留/强制执行此格式的选项?

如果这不可能,是否可以在本地扩展 clang-format 的功能(就像使用 clang-tidy 一样?)还是我必须打开一个功能请求?

我知道这种格式主要用在 C 代码库中,虽然帮助消息中说“格式化C/C++/Java/...的工具”,但所有选项似乎主要针对 C++。

【问题讨论】:

    标签: c clang-format


    【解决方案1】:

    只是过度阅读正确的选项。来自Clang Format Options website

    AlignConsecutiveDeclarations (bool):

    如果为真,对齐连续的声明。

    这将对齐连续行的声明名称。这将导致像

    这样的格式
    int         aaaa = 12;
    float       b = 23;
    std::string ccc = 23;
    

    【讨论】:

    • 你是对的,第二行应该包含一个有效的float,第三行应该包含一个有效的string来初始化这些值。尽管在 clang 文档中也是错误的。也许我应该先在那里请求修复,然后相应地更改我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 2020-01-14
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多