【问题标题】:Can clang-format act differently based on the presence of braces?clang-format 可以根据大括号的存在而采取不同的行动吗?
【发布时间】:2020-12-25 08:48:39
【问题描述】:

我想更改clang-format

if (condition) { printf("%d\n", 0); }

到:

if (condition) {
    printf("%d\n", 0);
}

如果我将AllowShortIfStatementsOnASingleLine 设置为Never,就会发生这种情况。但是,我也希望以下内容成为可能:

if (condition) return;

换句话说,我希望clang-format 仅在存在大括号的情况下强制使用单独的行。使用AllowShortIfStatementsOnASingleLine: Never,这将更改为:

if (condition)
    return;

这可能吗?

【问题讨论】:

    标签: c clang-format


    【解决方案1】:

    是的。您需要将AllowShortBlocksOnASingleLine 设置为false。然后将AllowShortIfStatementsOnASingleLine 设置为WithoutElseAlways(或true,对于10.0 之前的clang-format 版本)。

    当代码有大括号时,使用AllowShortBlocksOnASingleLine 设置。当代码没有大括号时,使用AllowShortIfStatementsOnASingleLine 设置。有关详细信息,请参阅documentation

    configurator 是尝试此类样式设置的好地方。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      • 1970-01-01
      • 2023-03-14
      • 2018-05-20
      • 2019-03-20
      • 2019-01-27
      相关资源
      最近更新 更多