选择性地禁用 clang-tidy 警告

Posted

技术标签:

【中文标题】选择性地禁用 clang-tidy 警告【英文标题】:Selectively disable clang-tidy warnings 【发布时间】:2017-06-05 02:38:16 【问题描述】:

有没有办法。例如,我启用了readability-identifier-naming 检查,并且还通过header-filter 在标题内显示警告。检查所有方法是否在 CamelCase 中。但是,偶尔会有一些类要直接替换另一个 STD 类或 Boost 类,因此它们具有小写命名约定。在这种情况下,clang-tidy 会发出很多警告。有没有办法为特定的代码段禁用它们。类似于// clang-format off// clang-format on对于clang-format的效果。

【问题讨论】:

【参考方案1】:

有几种方法可以做到这一点:

    // NOLINT 在您要跳过的行尾。

    // NOLINTNEXTLINE(readability-identifier-naming) 在该行之前仅跳过“可读性标识符命名”检查。

    使用参数运行 clang-tidy

    -line-filter='["name":"myprog.cpp","lines":[[1,99],[101,200]]]'

    在本例中将跳过第 100 行。

第三种方式允许跳过多行,但在源文件频繁更改时不方便(每次修改源时都需要更改行号)。

this question 可能重复。

【讨论】:

以上是关于选择性地禁用 clang-tidy 警告的主要内容,如果未能解决你的问题,请参考以下文章

如何转储 CLion 的默认 clang-tidy 配置?

如果在 C++ 模板库中使用了禁用的库功能,则警告用户

如何在Visual C ++中禁止外部标头中的警告

选择性地抑制未使用 lambda 的“未使用变量”警告

如何选择性地静音 Rails 3 弃用警告?

有选择地禁用第三方库的C ++核心指南检查器