clang 格式组和空行

clang-format groups and empty lines

我对 clang-format(目前使用的是 3.8 版)有疑问。假设 .clang-format 中有以下规则:

IncludeCategories:
  - Regex:           '"a/.*"'
    Priority:        2
  - Regex:           '"b/.*"'
    Priority:        1

和以下示例文件:

#include "a/foo.h"
#include "b/bar.h"

然后 clang-format 排序正确,即首先包含 b/,然后 a/。但是,如果我添加一个空行:

#include "a/foo.h"

#include "b/bar.h"

这不再有效。有没有办法强制 clang-format 忽略这个空行并忽略它进行排序。

奖金问题:如果我想在 .clang-format 中定义的每个组之后添加一个空行,这可能吗?

不,在 clang-format 版本 3.8 中是不可能的。您可能希望将自己添加到以下功能请求的抄送列表中:https://bugs.llvm.org/show_bug.cgi?id=32271

编辑:现在可以使用 IncludeBlocks: Regroup