2

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

4

1 回答 1

2

格式如下:

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

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


我正在使用 clang-format-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. 我不得不用虚拟条目覆盖它,然后附加我的实际条目以获得所需的结果。

于 2018-10-17T01:54:43.290 回答