警告

This document is not updated for ESP32C5 yet, so some of the content may not be correct.

This warning was automatically inserted due to the source file being in the add_warnings_pages list.

# IDF clang-tidy

[English]

IDF clang-tidy 是使用 clang-tidy 对当前应用程序进行静态分析的工具。

警告

IDF clang-tidy 的功能及其依赖的工具链尚在开发中，最终版本发布前可能有重大变更。

目前仅支持基于 clang 的工具链。在配置项目前，必须在环境变量或 CMake 缓存中设置 `IDF_TOOLCHAIN=clang` 进行激活。

警告

当前工具尚不支持基于 RISC-V 的芯片。目前，乐鑫尚未针对 RISC-V 提供基于 clang 的工具链。

## 准备工作

初次运行此工具时，请按照以下步骤准备该工具：

1. 运行 `idf_tools.py install esp-clang` 安装 clang-tidy 所需的二进制文件。

   备注

   该工具链尚在开发中，最终版本发布后，将无需手动安装工具链。

2. 再次运行导出脚本（如 `export.sh`、`export.bat` 等），刷新环境变量。

## 其他命令

### `clang-check`

运行 `idf.py clang-check` 可以重新生成编译数据库，并在当前项目文件夹下运行 `clang-tidy`，所得输出写入 `<project_dir>/warnings.txt`。

运行 `idf.py clang-check --help` 查看完整文档。

### `clang-html-report`

1. 运行 `pip install codereport` 安装附加依赖关系。

2. 运行 `idf.py clang-html-report` 会根据 `warnings.txt` 在 `<project_dir>/html_report` 文件夹内生成 HTML 报告。请在浏览器中打开 `<project_dir>/html_report/index.html` 查看报告。

## 错误报告

此工具托管在 espressif/clang-tidy-runner。如遇到任何错误，或有任何功能请求，请通过 Github issues 提交报告。

提供有关此文档的反馈