Clang-tidy IDE/编辑器集成¶
除了作为独立工具,clang-tidy 还被集成到各种 IDE、代码分析器和编辑器中。我们建议使用 clangd,它集成了 clang-tidy 并且 可通过插件 在大多数主流编辑器中使用(Vim、Emacs、Visual Studio Code、Sublime Text 和 更多)。
下表详细列出了最著名的 clang-tidy 集成。
功能 |
|||||
---|---|---|---|---|---|
工具 |
即时检查 |
检查列表配置 (GUI) |
检查选项 (GUI) |
通过 |
自定义 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-tidy。ReSharper C++ 扩展,版本 2017.3 及更高版本,提供无缝的 clang-tidy 集成:检查和快速修复与本地检查一起运行。除此之外,ReSharper C++ 将 clang-tidy 作为其代码清理过程的单独步骤包含在内。Visual Assist 构建 2210 包含 clang-tidy 检查列表的一个子集,以在您编辑时检查代码。将 clang-tidy 功能引入 Visual Studio 的另一种方法是 Clang Power Tools 插件,它包含大多数 clang-tidy 检查,并在编译期间或作为代码分析的单独步骤运行这些检查。
编辑器
Emacs24 与 Flycheck 插件扩展后,将 clang-tidy 检查合并到语法分析器中。对于 Vim,您可以使用 Syntastic(其中包含 clang-tidy),或 A.L.E.,一个将 clang-tidy 与其他 linter 一起使用的 lint 引擎。
分析器
clang-tidy 从版本 2018.1 开始被集成到 CPPDepend 和 CPPCheck 1.82 中。CPPCheck 集成允许您导入 Visual Studio 解决方案,并在其上运行 clang-tidy 检查。版本 5.3 或更高版本的 CodeChecker 应用程序,它也作为 Eclipse 的 插件 提供,支持 clang-tidy 作为静态分析工具,并允许使用自定义 clang-tidy 二进制文件。