clang-tidy:从 clang-tidy 分析中忽略特定文件夹

use*_*020 7 c++ regex clang-tidy

我有以下目录结构

\n

\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .clang 格式

\n

\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .clang-tidy

\n

\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 外部

\n

\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 脚本

\n

\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 源

\n

为了我的 clang 整洁执行,我只想包含source文件夹中的标头并排除external. 以下设置不适用于任一匹配 正则表达式HeaderFilterRegex: \'^(source)+(?!.*external).*\'的格式正确

\n

在文件中.clang-tidy如果我只包含HeaderFilterRegex: \'^(?!.*external).*\'它会排除该external文件夹但不包含source头文件

\n

同样,如果我只包含此检查,HeaderFilterRegex: \'(src/)\'它不会排除外部文件。

\n

更新

\n

好吧,这似乎与 clang 使用 Posix ERE 正则表达式风格有关(感谢 @pablo285),并且这不支持负向前瞻。我本以为这是使用 clang-tidy 的相当标准的要求,从分析中排除某些文件夹。

\n