如何在.clang-tidy配置文件中排除单个指定检查规则?
你遇到的告警是因为clang-tidy 6.0.0没有正确解析你当前的.clang-tidy配置格式,禁用规则的语句没有生效。
正确的配置写法
你可以从两种兼容clang-tidy 6.0版本的写法里选一种:
写法1:单行列全所有检查项
把所有Checks规则合并到同一行,用逗号分隔即可:
Checks: '-*,cppcoreguidelines-*,-cppcoreguidelines-pro-bounds-pointer-arithmetic' WarningsAsErrors: '*'
写法2:yaml标准多行字符串写法
如果需要分行写提升可读性,要加>-标记声明多行无换行字符串,避免解析错误:
Checks: >- -*, cppcoreguidelines-*, -cppcoreguidelines-pro-bounds-pointer-arithmetic WarningsAsErrors: '*'
验证配置是否生效
改完配置后,可以执行以下命令查看当前启用的检查项列表,确认cppcoreguidelines-pro-bounds-pointer-arithmetic不在列表中即可:
clang-tidy --list-checks -config-file ./.clang-tidy
额外注意事项
如果修改后仍然告警,可以检查是否存在上层目录的.clang-tidy配置覆盖了当前目录的规则,执行clang-tidy时显式指定配置文件路径即可避免这个问题。
内容的提问来源于stack exchange,提问作者Charly
相关产品推荐
相关产品推荐

