使用命令行运行clang格式:指定IncludeCategories



我想用命令行运行clang格式(版本3.8)。使用"-style="选项可以指定ClangFormatStyleOptions。然而,我无法找到如何指定"IncludeCategories"。在文档中,只描述了如何使用样式配置文件进行此操作。所以我想知道,是否可以用命令行指定它,如果可以,我该怎么做

格式如下:

-style="{IncludeCategories: [{Regex: 'bla', Priority: 100}, {Regex: 'blubb', Priority: 101}]}"

我通过实验发现了这一点,无法引用任何来源。


我使用的是clang-forma-6.0,我观察到了以下意外行为。假设我从一些默认样式开始,使用-dump-config标志并获得以下IncludeCategories:

IncludeCategories: 
  - Regex:           '^<ext/.*.h>'
    Priority:        2
  - Regex:           '^<.*.h>'
    Priority:        1
  - Regex:           '^<.*'
    Priority:        2
  - Regex:           '.*'
    Priority:        3

然后我把IncludeCategories: [{Regex: 'bla', Priority: 100}]加到-style上,并转储结果,我得到:

IncludeCategories: 
  - Regex:           'bla'
    Priority:        100
  - Regex:           '^<.*.h>'
    Priority:        1
  - Regex:           '^<.*'
    Priority:        2
  - Regex:           '.*'
    Priority:        3

因此,它覆盖默认映射的条目,但当IncludeCategories添加到-style时,它不会删除映射。我不得不用伪条目覆盖它,然后附加我的实际条目以获得所需的结果。

相关内容

  • 没有找到相关文章

最新更新