Clang-Tidy 集成
Clang-Tidy 是一个基于 Clang 的静态代码分析工具。 CLion 以与其自身代码检查相同的方式显示 Clang-Tidy 检查,并可通过
按钮或 Alt+Enter 快速修复:

Clang-Tidy 通用设置
Clang-Tidy 检查默认启用,您可以在编辑器中将其视为警告(或其他严重级别的消息)。
请注意,并非所有检查默认启用。 此处 您可以找到 CLion 中 Clang-Tidy 默认配置的详细信息。
要调整 Clang-Tidy 配置,请转到 :

配置检查列表
点击
打开对话框,您可以在其中编辑检查列表:

要快速找到特定检查,请在对话框聚焦时开始输入其名称。
在左侧,您可以看到来自 官方 Clang-Tidy 文档网站 的每个检查的详细描述。 您还可以在编辑器中看到简要概述。 将鼠标悬停在高亮代码上,在出现的工具提示中点击
并选择 显示检查描述:

您还可以使用 Clang-Tidy 命令行格式 手动启用/禁用特定检查。
指定一个以逗号分隔的正负通配符列表:正通配符添加检查子集,而负通配符(以
"-"为前缀)移除它们。例如,以下命令行将禁用所有默认检查
-*并启用所有clang-analyzer-*检查,除了clang-analyzer-cplusplus*检查:-*,clang-analyzer-*,-clang-analyzer-cplusplus*
为特定检查配置选项
某些 Clang-Tidy 检查具有选项,这些选项对于检查来说是附加的或重要的(例如 readability-identifier-naming 的选项)。
点击 配置 Clang-Tidy 检查选项 打开选项对话框。
选项以预定义的默认值显示。 如果您更改了某个选项,您会看到它以蓝色高亮显示。
要快速在列表中搜索,请将对话框聚焦并开始输入。

在编辑器中调整检查
除了 检查设置 对话框,您还可以从编辑器中禁用单个检查、一组检查或整个 Clang-Tidy 检查。 这些操作会分别更新 Clang-Tidy 命令行。

要为特定行 抑制 Clang-Tidy 检查,请使用 为行抑制 "check_name" 选项。 CLion 会在选定行的末尾添加一个 // NOLINT 注释。
配置文件
使用 .clang-tidy 文件,您可以设置每个目录的配置:对于每个源文件,Clang-Tidy 将尝试从最近的父目录中的 .clang-tidy 读取配置。
要打开当前源文件使用的 .clang-tidy 配置文件,请在状态栏的小部件中选择 编辑 <current file> 的 clang-tidy 文件:

如果当前打开的源文件没有可用的 .clang-tidy 配置,您可以通过在小部件中选择 创建.clang-tidy 文件 来创建一个:

新文件将包括在 中配置的设置。
.clang-tidy 文件采用 YAML 格式。 以下是一个语法示例,让我们启用所有 Clang-Tidy 检查并提供额外的选项 modernize-use-nullptr:
默认情况下, .clang-tidy 文件优先于 IDE 设置。 在分析源文件时,CLion 使用可访问的配置文件中的设置(位于当前目录或某个父目录中)。 如果没有这样的文件,CLion 将依赖其自身的设置。
要更改此行为,请在 - 中清除 首选.clang-tidy 文件而不是 IDE 设置 复选框。
自定义 Clang-Tidy 可执行文件
您可以使用自己的 Clang-Tidy 可执行文件,而不是捆绑的版本(例如,当您想创建 自定义检查 并在 CLion 中使用它们时)。
在 中提供自定义 Clang-Tidy 二进制文件的路径(或在 检查设置 对话框中点击 指定 Clang-Tidy 可执行文件)。

此设置是 IDE 作用域 :您的自定义 Clang-Tidy 二进制文件将用于所有项目。
Clang-Tidy 更新通知
CLion 从相应的 LLVM 修订版中捆绑了 Clang-Tidy,因此当 CLion 发布 Clang 更新时,捆绑的 Clang-Tidy 可执行文件会更新为较新的版本,IDE 会显示通知:

点击 审查 打开一个列表,其中显示了可用的新检查及其根据 Clang-Tidy 检查设置 的激活状态。 您可以在此对话框中启用或禁用检查,Clang-Tidy 设置将相应更改。

如果您使用 自定义配置文件 而不是 IDE 设置,此通知还会警告您 clang-tidy 文件可能会覆盖您的 IDE 设置。