docs/en/api-guides/tools/idf-clang-tidy.rst
IDF Clang-Tidy
:link_to_translation:zh_CN:[中文]
The IDF Clang Tidy is a tool that uses clang-tidy <https://clang.llvm.org/extra/clang-tidy/>__ to run static analysis on your current app.
.. warning::
This functionality and the toolchain it relies on are still under development. There may be breaking changes before a final release.
Only clang based toolchain is currently supported. It has to be activated by setting IDF_TOOLCHAIN=clang in the environment or in CMake cache before configuring the project.
If you have never run this tool before, take the following steps to get this tool prepared.
#. Run idf_tools.py install esp-clang to install the clang-tidy required binaries
.. note::
This toolchain is still under development. After the final release, you do not have to install them manually.
#. Run the export scripts (export.sh / export.bat / ... ) again to refresh the environment variables.
clang-checkRun idf.py clang-check to re-generate the compilation database and run clang-tidy under your current project folder. The output would be written to <project_dir>/warnings.txt.
Run idf.py clang-check --help to see the full documentation.
clang-html-report#. Run pip install codereport to install the additional dependency.
#. Run idf.py clang-html-report to generate an HTML report in folder <project_dir>/html_report according to the warnings.txt. Please open the <project_dir>/html_report/index.html in your browser to check the report.
This tool is hosted in espressif/clang-tidy-runner <https://github.com/espressif/clang-tidy-runner>. If you were to face any bugs or have any feature request, please report them via Github issues <https://github.com/espressif/clang-tidy-runner/issues>