以下是一个调用 ClangTidy 的示例配置。 "C_Cpp.codeAnalysis.clangTidy.checks.enabled": [ "google-*", "modernize-*", "performance- *", "clang-analyzer-*", "misc-*" ], "C_Cpp.codeAnalysis.clangTidy.checks.disabled": [ "modernize-macro-to-enum ", "misc-include-cleaner" ], ClangTidy 是一个静态代码分析工具。 , -Wall, -Wno-unused-function, -std=gnu99] Compiler: clang Diagnostics: UnusedIncludes: None ClangTidy
sonar.cxx.file.suffixes=.cxx,.cpp,.cc,.c,.hxx,.hpp,.hh,.h sonar.lang.patterns.objc=**/*.m,**/*.mm sonar.cxx.clangtidy.reportPaths sonar.cxx.file.suffixes 表示要分析的 C++ 文件后缀 sonar.lang.patterns.objc 表示要分析的 Objective-C 代码的文件后缀 sonar.cxx.clangtidy.reportPaths sonar.cxx.file.suffixes=.cxx,.cpp,.cc,.c,.hxx,.hpp,.hh,.h sonar.lang.patterns.objc=**/*.m,**/*.mm sonar.cxx.clangtidy.reportPaths
感谢 Clang 以及其他平台上的开发速度提升,我们获得了如下工具: ClangTidy(以前是 clang-modernise) Clang Format Clang Static Analyzer
我们可以编写一个简单的函数来解决这个问题: chapter09/02-clang-tidy/cmake/ClangTidy.cmake function(AddClangTidy target) find_program PUBLIC .) add_executable(bootstrap bootstrap.cpp) target_link_libraries(bootstrap PRIVATE sut) include(ClangTidy 中内置静态检查器的支持: blog.kitware.com/static-checks-with-cmake-cdash-iwyu-clang-tidy-lwyu-cpplint-and-cppcheck/ 启用 ClangTidy