JetBrains Rider 2025.2 Help

Clang-Tidy 集成

Clang-Tidy 是一个基于流行的 Clang 编译器的强大开源代码分析工具。 它提供了一套广泛的代码检查以及针对典型编程错误的修复。

JetBrains Rider 提供了与 Clang-Tidy 的无缝集成。 这意味着当您编辑文件时,JetBrains Rider 会在后台以单独的进程运行 Clang-Tidy,并将检查结果与其他 JetBrains Rider 的检查 一起显示。 未保存的文件会通过将当前文档的文本保存到临时文件并指示 Clang-Tidy 使用该文件而不是磁盘上的版本来透明地处理。

Clang-Tidy 检查

要区分 Clang-Tidy 检查和 JetBrains Rider 的检查,您可以查看检查消息中附加的方括号内的检查名称:

JetBrains Rider 中的 Clang-Tidy 检查

除了 来自 Clang-Tidy 检查的诊断 ,JetBrains Rider 还会发出 来自 Clang 静态分析器的诊断由 Clang 编译器本身提供的警告。 所有这些都有相应的 可配置的严重性级别 ,您可以 根据需要调整它们

一些与 JetBrains Rider 内置检查重复的 Clang-Tidy 检查默认关闭。 此外, 所有静态分析器检查 都被禁用,因为启用它们会显著降低 Clang-Tidy 的速度。

与内置检查一样,您可以使用检查上下文菜单 快速更改 Clang-Tidy 检查的严重性通过注释抑制它 (在特定范围或全局范围内),或 查找并调查所有类似问题。 还有一个额外的操作可以打开特定检查的在线文档页面。

JetBrains Rider:Clang-Tidy 检查菜单

Clang-Tidy 修复

JetBrains Rider 允许您以类似于其内置 快速修复 的方式应用 Clang-Tidy 提供的修复。 与其他批量修复一样,Clang-Tidy 修复可以单独应用或 在特定范围内应用 (文件、文件夹、项目或解决方案)。

JetBrains Rider:Clang-Tidy 检查的快速修复

默认情况下,JetBrains Rider 会 重新格式化 Clang-Tidy 修复更改的代码 以保持代码风格。 可以通过 JetBrains Rider 设置 的 应用 Clang-Tidy 修复后重新格式化更改的代码 页面上的 语言与框架 | C++ | Clang-Tidy 设置禁用此行为 Ctrl+Alt+S。 禁用此设置将加快 Clang-Tidy 修复的执行速度。

使用代码清理应用 Clang-Tidy 修复

Clang-Tidy 修复也可以通过 代码清理 应用。 内置代码清理配置文件不包括所有可用的 Clang-Tidy 修复,因此要配置它,您需要从列表中选择 Clang-Tidy 配置文件,单击其旁边的选项按钮,并选择所有需要的检查,这些检查将在您使用此配置文件 运行代码清理 时执行。

JetBrains Rider:使用代码清理应用 Clang-Tidy 修复

即使在 JetBrains Rider 设置 的 编辑器 | 检查设置 | 检查严重性 页面 Ctrl+Alt+S 中关闭了相应的检查,选定的修复也会被应用。 启用过多检查时请小心——代码清理对给定文件仅运行一次 Clang-Tidy,因此如果多个修复修改了同一代码块,可能会导致更改冲突。

配置 Clang-Tidy

JetBrains Rider 不会写入其自己的 Clang-Tidy 配置,因此可以选择用户提供的配置。 Clang-Tidy 尝试从源文件最近的父目录中的 .clang-tidy 文件读取每个源文件的配置。 这里的源文件(与 JetBrains Rider 的其他检查一样)是运行分析的 .cpp 文件本身,或者在对头文件执行分析时包含该头文件的随机 .cpp 文件。 或者,您可以在 JetBrains Rider 设置 的 使用特定的 clang-tidy 配置文件 页面上选择 语言与框架 | C++ | Clang-Tidy 设置以指定配置文件的位置 Ctrl+Alt+S

-检查 Clang-Tidy 二进制文件的命令行选项用于传递启用检查的列表,然后将其附加到从 Clang-Tidy 配置中读取的检查选项值。 为了构造 -检查 参数,JetBrains Rider 会获取 JetBrains Rider 设置 的 启用/禁用的 Clang-Tidy 检查列表 页面上的 语言与框架 | C++ | Clang-Tidy 设置的值,并将关闭的检查名称附加到 编辑器 | 检查设置 | 检查严重性 选项页面上。

默认情况下,JetBrains Rider 使用内置的 Clang-Tidy 20.0.0 二进制文件。 您可以让 JetBrains Rider 使用任何其他版本为 7 或更高的 Clang-Tidy 二进制文件。 为此,您在 JetBrains Rider 设置 的 语言与框架 | C++ | Clang-Tidy 页面上有两个额外的选项 Ctrl+Alt+S

  • 在 %PATH% 中查找 - 使用在 %PATH% 环境变量中指定位置找到的 Clang-Tidy。

  • 自定义 - 使用特定的 Clang-Tidy 可执行文件。

如果需要,您还可以使用 启用 Clang-Tidy 分析 () 切换在 状态指示器 上下文菜单中禁用当前文档的 Clang-Tidy 分析。

Clang-Tidy 集成的限制

  • 使用 UTF-16 或 UTF-32 编码的文件无法被 Clang 读取,因此目前不支持 Clang-Tidy。

  • 有时 Clang-Tidy 可能会在您的代码上崩溃,Windows 会显示“进程已停止工作”的消息。 在这种情况下,请在 JetBrains Rider 设置 的 语言与框架 | C++ | Clang-Tidy 页面上禁用当前解决方案的 Clang-Tidy 集成 Ctrl+Alt+S

  • 如果您使用的是自定义 Clang-Tidy 二进制文件(在 %PATH% 中查找自定义 在 JetBrains Rider 设置 的 语言与框架 | C++ | Clang-Tidy 页面上 Ctrl+Alt+S ),则只能使用版本 7 或更高版本。

最后修改日期: 2025年 9月 26日