问题标签 [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.
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。
我究竟做错了什么 ?
c++ - 有没有办法在初始化字符串时避免来自 clang-tidy (fuchsia-default-arguments) 的警告?
考虑这段代码:
运行clang-tidy -checks=* string.cpp
给出以下信息:
是否可以传递一些其他参数来消除此警告?我在这里并没有真正使用任何参数默认值。但是 std::string 的实现确实如此。
编辑:更改代码以简化测试用例。
c++ - 使用 NOLINT 来抑制 clang-tidy。我怎样才能压制压制?
我有如下代码
NOLINT 注释通常会抑制clang-tidy 警告。但是,如何在不更改代码的情况下为该行“重新启用”clang-tidy?
c++ - 哪些 clang-tidy 检查提供自动修复?
我想知道使用 -fix 选项可以运行哪些 clang-tidy 检查,即自动生成固定代码。我知道所有的 modernize-* 检查都可以做到这一点,其他一些检查也可以(如 google-readability-casting),但我在任何地方都找不到完整的列表。某处有清单吗?或者除了阅读每张支票的来源之外的找出方法?
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。
c++ - 编写特定的 Clang 检查
我正在尝试实现我的小自定义检查,例如尝试浏览本教程(有点过时了)。
我有几个问题:
- 在我克隆了 repos,实现了检查并运行了 cmake 之后,构建目标与教程不同
- 在构建和构建项目之后,我什至不知道应该运行什么,在文件或项目上执行我的检查器。
感谢您的帮助!
c++ - Clang-Tidy:将带符号整数操作数与二进制位运算符一起使用
我想将 a long long
(一个 64 位值)拆分为两个int
s (每个 32 位)。为此,我使用“标准方法”将long long
右移 32 位以获得高位 32 位并将其long long
转换为 int 以获得低位 32 位。但是,clang-tidy
将转变报告为警告:
将带符号整数操作数与二进制位运算符一起使用
我的代码如下:
你将如何重写它以避免警告?
注意写
即使只有unsigned
变量在使用,也不能修复警告。
c++ - clang-tidy 忽略 Windows 上的可读性标识符命名
我想使用 clang-tidy 来执行我公司的风格指南。我正在使用 Windows 10。我已经安装了 LLVM v6.0.1。这是我的测试文件:
这是我正在运行的命令行:
clang-tidy 没有输出任何错误(我期待类名有问题)。我看不出我的错误在哪里。谁能指导我?
我在 Ubuntu 16.04.4 上用相同的文件尝试了相同的命令行,我得到了想要的结果:
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