Back to Esp Idf

IDF Clang-Tidy

docs/en/api-guides/tools/idf-clang-tidy.rst

6.1-dev1.9 KB
Original Source

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.

Prerequisites

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.

Extra Commands

clang-check

Run 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.

Bug 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>