clang-tidy 在使用 readability-identifier-naming 时将命名空间视为全局变量

clang-tidy treats namespace as global variable when using readability-identifier-naming

我正在使用 clang-tidy 来检查源代码。在文件 .clang-tidy 中我定义了:

Checks: '-*,readability-identifier-naming'
CheckOptions:
...
  - { key: readability-identifier-naming.NamespacePrefix,               value: n1_        },
  - { key: readability-identifier-naming.GlobalVariablePrefix,          value: g1_        },
...

myHeader.h:

namespace n1_test
{
...
}

Linux Mint 19.2 (Tina)

上使用 clang-tidy(尝试了 11.1.0、13.0.0git(均由我自己编译)和 10.0.0(已下载))整理此文件)

与:

clang-tidy-11.1.0 -export-fixes=fixes.txt /tmp/clangTest/mylib/source/myHeader.h -- -I/tmp/clangTest/myLib/source

结果:

 warning: invalid case style for global variable 'n1_test' [readability-identifier-naming]
namespace n1_test {
          ^~~~~~~~~~
          g1_n1_test

我不明白为什么 NamespacePrefix 不起作用并且 clang-tidy 将命名空间视为全局变量。我也测试了 NamespaceCase 但它不起作用。

PS:根据 documentation 这应该可行

不能直接在 header 文件上使用 clang-tidy。相反,我必须检查 cpp 文件并且必须添加 -header-filter=.* 以同时检查 headers:

clang-tidy-11.1.0 -header-filter=.* -export-fixes=fixes.txt /tmp/clangTest/mylib/source/main.cpp -- -I/tmp/clangTest/myLib/source