Clang-tidy IDE/编辑器集成

除了作为独立工具,clang-tidy 还被集成到各种 IDE、代码分析器和编辑器中。我们建议使用 clangd,它集成了 clang-tidy 并且 可通过插件 在大多数主流编辑器中使用(Vim、Emacs、Visual Studio Code、Sublime Text 和 更多)。

下表详细列出了最著名的 clang-tidy 集成。

功能

工具

即时检查

检查列表配置 (GUI)

检查选项 (GUI)

通过 .clang-tidy 文件配置

自定义 clang-tidy 二进制文件

A.L.E. for Vim

+

-

-

-

+

Clang Power Tools for Visual Studio

-

+

-

+

-

Clangd

+

-

-

+

-

CLion IDE

+

+

+

+

+

CodeChecker

-

-

-

-

+

CPPCheck

-

-

-

-

-

CPPDepend

-

-

-

-

-

Flycheck for Emacs

+

-

-

+

+

KDevelop IDE

-

+

+

+

+

Qt Creator IDE

+

+

-

+

+

ReSharper C++ for Visual Studio

+

+

-

+

+

Syntastic for Vim

+

-

-

-

+

Visual Assist for Visual Studio

+

+

-

-

-

IDE

CLion 2017.2 及更高版本 集成了 clang-tidy 作为内置代码分析器的扩展。从 2018.2 EAP 开始,CLion 允许通过 Clangd 使用 clang-tidy。检查和适用的快速修复会即时执行,并且可以在标准命令行格式中配置检查。在此集成中,您可以切换到与捆绑的二进制文件不同的 clang-tidy 二进制文件,在 .clang-tidy 文件中传递配置,而不是使用 IDE 设置,还可以配置特定检查的选项。

KDevelop 结合 kdev-clang-tidy 插件,从版本 5.1 开始,使用 clang-tidy 执行静态分析。该插件从指定位置启动 clang-tidy 二进制文件,并解析其输出以提供问题列表。

QtCreator 4.6 将 clang-tidy 警告集成到编辑器诊断中,位于 Clang 代码模型 下。要在 QtCreator 中使用 clang-tidy 检查,您需要创建其中一个预设的副本,并选择要执行的检查。从 QtCreator 4.7 开始,可以使用 Clang 工具 分析器进行项目范围内的分析。

MS Visual Studio 可以通过三种不同的工具集成 clang-tidyReSharper C++ 扩展,版本 2017.3 及更高版本,提供无缝的 clang-tidy 集成:检查和快速修复与本地检查一起运行。除此之外,ReSharper C++ 将 clang-tidy 作为其代码清理过程的单独步骤包含在内。Visual Assist 构建 2210 包含 clang-tidy 检查列表的一个子集,以在您编辑时检查代码。将 clang-tidy 功能引入 Visual Studio 的另一种方法是 Clang Power Tools 插件,它包含大多数 clang-tidy 检查,并在编译期间或作为代码分析的单独步骤运行这些检查。

编辑器

Emacs24Flycheck 插件扩展后,将 clang-tidy 检查合并到语法分析器中。对于 Vim,您可以使用 Syntastic(其中包含 clang-tidy),或 A.L.E.,一个将 clang-tidy 与其他 linter 一起使用的 lint 引擎。

分析器

clang-tidy 从版本 2018.1 开始被集成到 CPPDependCPPCheck 1.82 中。CPPCheck 集成允许您导入 Visual Studio 解决方案,并在其上运行 clang-tidy 检查。版本 5.3 或更高版本的 CodeChecker 应用程序,它也作为 Eclipse 的 插件 提供,支持 clang-tidy 作为静态分析工具,并允许使用自定义 clang-tidy 二进制文件。