安装 clang-tidy 需根据系统选择包管理器或官方安装包;1. 配置 .clang-tidy 文件以指定检查规则,如开启特定检查项并调整选项;2. 在 cmake 项目中通过设置 cmake_cxx_clang_tidy 参数将其集成到构建流程;3. 也可单独运行 clang-tidy,结合 compile_commands.json 实现全项目扫描。整个过程需注意配置文件位置、检查项写法及头文件路径等问题,确保集成顺利并提升代码质量。

你刚装好了 Clang-Tidy,但还不知道怎么把它用起来?其实它集成到 C++ 项目中并不难,关键是搞清楚几个关键点:安装、配置规则、接入构建系统以及如何运行。

安装 Clang-Tidy
首先得确保你的系统里有 clang-tidy。大多数 Linux 发行版可以通过包管理器安装,比如 Ubuntu:

sudo apt-get install clang-tidy
如果你用的是 macOS,可以用 Homebrew:
立即学习“C++免费学习笔记(深入)”;
brew install llvm
然后注意 PATH 设置,有时候需要手动链接或者设置别名。

Windows 上可以通过 LLVM 的官方安装包来获取,或者使用 MSYS2 / WSL 等环境。
配置检查规则(.clang-tidy 文件)
Clang-Tidy 是通过 .clang-tidy 配置文件来控制启用哪些检查项的。这个文件通常放在项目的根目录下。
一个基础配置大概长这样:
Checks: '-*,modernize-use-override,readability-braces-around-statements'
CheckOptions:
- key: readability-braces-around-statements.ShortStatementLines
value: '1'-
Checks指定你要开启哪些规则,前面加-*,表示关闭所有默认检查,只启用你列出的。 -
CheckOptions可以微调某些规则的行为。
你可以参考 Clang-Tidy 官方文档 找到你感兴趣的检查项。
集成到构建流程(CMake 示例)
如果你的项目是基于 CMake 构建的,可以很方便地把 Clang-Tidy 接入进去。
在调用 cmake 的时候加上如下参数,就可以让编译器自动调用 Clang-Tidy:
cmake -DCMAKE_CXX_CLANG_TIDY="clang-tidy" ..
这会为每个编译单元自动运行 Clang-Tidy。如果你想指定特定的检查项,也可以写成:
cmake -DCMAKE_CXX_CLANG_TIDY="clang-tidy;-checks=modernize-use-override" ..
这样就不用再单独运行一次 Clang-Tidy,而是在编译时顺带完成静态分析。
单独运行 Clang-Tidy(适用于 CI 或本地检查)
如果你不想改动构建流程,也可以单独运行 Clang-Tidy,尤其是做 CI 检查的时候。
基本命令格式:
clang-tidy your_source_file.cpp -- -I/path/to/include
如果项目比较大,推荐配合 compile_commands.json 使用,这是 Clang-Tidy 扫描整个项目的依据。
生成方式也很简单,在 CMake 项目中加上:
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
然后你会在 build 目录下看到 compile_commands.json。之后可以直接运行:
run-clang-tidy -p path_to_build_dir
就能对整个项目进行一次全面扫描。
基本上就这些。集成过程不复杂,但容易忽略细节,比如配置文件的位置、检查项的写法、是否需要头文件路径等。只要把这些地方理顺了,Clang-Tidy 就能很好地帮你提升代码质量。










