问题标签 [clang-tidy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3180 浏览

clang-tidy - clang-tidy readability-identifier-naming 模块似乎没有正确处理类属性和类方法

我想使用 clang-tidy 'readability-identifier-naming' 模块来清理我的代码,但我未能在一个带有类属性和方法的简短示例中正确使用它。

我使用了以下 .clang-tidy 文件:

在这段代码上:

结果是这段代码:

类方法 OneMethod() 的声明和定义已正确转换,但 main() 函数中的方法调用没有。类属性 OneAttribute 也是如此。生成的代码不再编译。

我用这个命令行调用了 clang-tidy:

我已经从 Ubuntu 16.04 上的软件包安装了 clang 5.0 和 clang 3.8。

我究竟做错了什么 ?

0 投票
1 回答
2525 浏览

c++ - 有没有办法在初始化字符串时避免来自 clang-tidy (fuchsia-default-arguments) 的警告?

考虑这段代码:

运行clang-tidy -checks=* string.cpp给出以下信息:

是否可以传递一些其他参数来消除此警告?我在这里并没有真正使用任何参数默认值。但是 std::string 的实现确实如此。

编辑:更改代码以简化测试用例。

0 投票
2 回答
6654 浏览

c++ - 使用 NOLINT 来抑制 clang-tidy。我怎样才能压制压制?

我有如下代码

NOLINT 注释通常会抑制clang-tidy 警告。但是,如何在不更改代码的情况下为该行“重新启用”clang-tidy?

0 投票
1 回答
1040 浏览

c++ - 哪些 clang-tidy 检查提供自动修复?

我想知道使用 -fix 选项可以运行哪些 clang-tidy 检查,即自动生成固定代码。我知道所有的 modernize-* 检查都可以做到这一点,其他一些检查也可以(如 google-readability-casting),但我在任何地方都找不到完整的列表。某处有清单吗?或者除了阅读每张支票的来源之外的找出方法?

0 投票
2 回答
8428 浏览

c - 函数声明中参数的 const 限定

我在头文件中有以下函数声明:

基本上,它需要两个参数并将相应的消息推送到全局消息队列中。因为它不需要修改参数,所以我对它们进行了 const 限定。但是,CLion 的静态代码分析器发出了警告:

Clang-Tidy:参数 'type' 在函数声明中是 const 限定的;参数的 const 限定仅对函数定义有影响

在此处输入图像描述

这是我的问题:

  1. 我对两个参数都进行了 const 限定,为什么只有后者触发警告?
  2. 真的很糟糕吗?我知道它没有效果,但从技术上讲,const限定符也没有效果。
  3. 我可以摆脱这个警告吗?
0 投票
0 回答
197 浏览

visual-studio - 使用 Clang-Tidy 对 Visual Studio 进行检查

我正在尝试使用 Clang-Tidy 在 Visual Studios 上自动门控签入/构建。我知道在cmake中有一个变量“ CMAKE_CXX_CLANG_TIDY ”,但是在构建项目时,通过适当的检查将它设置为我的整洁的可执行文件似乎没有任何作用。
此外,我无法轻松生成compile_commands.json供 Clang 使用。使用 CMAKE 生成它会弄乱各个依赖项,而通过 Visual Studios 生成它的唯一方法似乎是非自动化方法,例如 Extensions。
我正在运行最新版本的 Clang、Cmake 3.11.3 和 Visual Studios 2017。

0 投票
2 回答
1626 浏览

c++ - 编写特定的 Clang 检查

我正在尝试实现我的小自定义检查,例如尝试浏览本教程(有点过时了)。

我有几个问题:

  • 在我克隆了 repos,实现了检查并运行了 cmake 之后,构建目标与教程不同
  • 在构建和构建项目之后,我什至不知道应该运行什么,在文件或项目上执行我的检查器。

感谢您的帮助!

0 投票
0 回答
5536 浏览

c++ - Clang-Tidy:将带符号整数操作数与二进制位运算符一起使用

我想将 a long long(一个 64 位值)拆分为两个ints (每个 32 位)。为此,我使用“标准方法”将long long右移 32 位以获得高位 32 位并将其long long转换为 int 以获得低位 32 位。但是,clang-tidy将转变报告为警告:

将带符号整数操作数与二进制位运算符一起使用

我的代码如下:

你将如何重写它以避免警告?

注意写

即使只有unsigned变量在使用,也不能修复警告。

0 投票
2 回答
1591 浏览

c++ - clang-tidy 忽略 Windows 上的可读性标识符命名

我想使用 clang-tidy 来执行我公司的风格指南。我正在使用 Windows 10。我已经安装了 LLVM v6.0.1。这是我的测试文件:

这是我正在运行的命令行:

clang-tidy 没有输出任何错误(我期待类名有问题)。我看不出我的错误在哪里。谁能指导我?

我在 Ubuntu 16.04.4 上用相同的文件尝试了相同的命令行,我得到了想要的结果:

0 投票
1 回答
373 浏览

clang - 如何在使用 -fix 选项时将 GslHeader 参数传递给 clang-tidy?

我找不到用于修复以下错误的 clang-tidy 命令行的示例代码:

我只是想知道如何让 clang-tidy 自动解决这个问题。如果没有,我应该如何使用gsl::at()来解决这个问题?clang-tidy 文档说明如下:

gsl::at()<gsl/gsl_util>. 我如何告诉 clang-tidy 使用它来修复我的警告?

编辑:我查看了配置字符串并找到了解决方案:

运行时:

clang-tidy fizzbuzz2.cpp -checks=cppcoreguidelines-pro-bounds-constant-array-index -dump-config

我得到了一些关于解决方案的提示

clang-tidy fizzbuzz2.cpp -checks=cppcoreguidelines-pro-bounds-constant-array-index -config="{CheckOptions: [{key: cppcoreguidelines-pro-bounds-constant-array-index.GslHeader, value: gsl/gsl_util}]}" -fix