CLion教程-Clang-Tidy 集成
设置 | 编辑器 | 检查 | C/C++ | 静态分析工具 | Clang-Tidy
默认配置:启用/禁用检查的列表
默认严重性:警告
Clang-Tidy 是一个基于 Clang 的静态代码分析工具。CLion以与自身的代码检查相同的方式显示Clang-Tidy检查,并通过 按钮或 Alt+Enter 提供快速修复:
通用 Clang-Tidy 设置
Clang-Tidy 检查默认启用,您可以在编辑器中将它们视为警告(或另一个严重性级别的消息)。
请注意,并非所有检查都默认启用。
要调整Clang-Tidy配置,请转到设置 | 编辑器 | 检查 | C/C++ | 静态分析工具 | Clang-Tidy:
配置检查列表
单击 以打开对话框,您可以在其中编辑检查列表:
- 要快速查找特定检查,当对话框处于焦点状态时,开始键入其名称。
- 在左侧,您可以看到来自官方Clang-Tidy文档网站中每个检查的详细描述。您还可以从编辑器中看到简要概述。将鼠标悬停在突出显示的代码上,在出现的工具提示中,单击 并选择“显示检查说明”:
- 您还可以使用Clang-Tidy命令行格式手动启用/禁用特定检查。
指定以逗号分隔的正/负 glob:正 glob 添加检查的子集,而以 "-" 为前缀的负 glob 删除检查。
例如,以下命令行将禁用所有默认检查 -*
并启用除 clang-analyzer-cplusplus*
之外的所有 clang-analyzer-*
检查:
-*,clang-analyzer-*,-clang-analyzer-cplusplus*
您可以通过从下拉列表中进行选择来设置Clang-Tidy检查的所需严重性级别和范围。
配置特定检查的选项
某些Clang-Tidy检查具有选项,这些选项是该检查的附加或实质性部分(例如,readability-identifier-naming的选项)。
- 单击“配置Clang-Tidy检查选项”以打开选项对话框。
选项显示带有预定义默认值的方式。如果更改选项,您将看到它以蓝色突出显示。
- 要在列表中快速搜索,请将对话框设置为焦点状态,然后开始输入。
- 要在列表中快速搜索,请将对话框设置为焦点状态,然后开始输入。
在编辑器中调整检查
除了检查设置对话框之外,您还可以从编辑器中禁用单个检查、一组检查或整个Clang-Tidy检查。这些操作分别会更新Clang-Tidy命令行。
要禁止特定行的Clang-Tidy检查,请使用“为行禁止检查名称”选项。CLion将在所选行的末尾添加 // NOLINT
注释。
当使用 .clang-tidy 配置文件 而不是CLion设置时,编辑器的Clang-Tidy检查菜单不可用。
配置文件
使用 .clang-tidy 文件,您可以设置每个目录的配置:对于每个源文件,Clang-Tidy 将尝试从最接近的父目录中的 .clang-tidy 文件中读取配置。
要打开当前源文件使用的 .clang-tidy 配置文件,请在状态栏上的小部件中选择“编辑clang-tidy文件<current file>”:
如果当前打开的源文件没有可用的 .clang-tidy 配置文件,您可以通过选择“创建 .clang-tidy 文件”来创建一个:
新文件将包括在设置 | 编辑器 | 检查 | C/C++ - 静态分析工具 - Clang-Tidy 中配置的设置。
仅当在设置 | 编辑器 | 检查 | C/C++ - 静态分析工具 - Clang-Tidy 中选中“首选 .clang-tidy 文件覆盖 IDE 设置”复选框时,才会提供该小部件。
.clang-tidy 文件采用YAML格式。作为语法示例,让我们启用所有Clang-Tidy检查,并为 modernize-use-nullptr
提供额外的选项:
Checks: '*'
CheckOptions:
- key: modernize-use-nullptr.NullMacros
value: NULL,CUSTOM_NULL
默认情况下,.clang-tidy 文件优先于IDE设置。在分析源文件时,CLion使用可访问的配置文件(位于当前目录或其中一个父目录中)。如果没有这样的文件,CLion将依赖于自己的设置。
要更改此行为,请在设置 | 编辑器 | 检查 - C/C++,静态分析工具,Clang-Tidy 中取消选中“首选 .clang-tidy 文件覆盖 IDE 设置”复选框。
自定义 Clang-Tidy 可执行文件
您可以使用自己的 Clang-Tidy 可执行文件而不是捆绑的文件(例如,当您希望创建自定义检查并在CLion中使用它们时)。
在设置 | 语言和框架 | C/C++ 中提供您的自定义 Clang-Tidy 二进制文件的路径(或在检查设置对话框中单击“指定 Clang-Tidy 可执行文件”)。
此设置适用于整个IDE:您的自定义 Clang-Tidy 二进制文件将用于所有项目。
Clang-Tidy 更新通知
CLion将Clang-Tidy捆绑在相应的LLVM版本中,因此当CLion发布Clang更新时,捆绑的Clang-Tidy可执行文件将更新到新版本,并且IDE会显示通知:
单击“查看”以打开可用的新检查列表以及根据Clang-Tidy 检查设置的激活状态。您可以在此对话框中启用或禁用检查,Clang-Tidy 设置将相应更改。
如果您使用自定义配置文件而不是IDE设置,则此通知还会警告您,.clang-tidy 文件可能会覆盖IDE设置。
当新的IDE版本启动时,当前版本仅显示一次此通知。