| | |
|---|
Sonarcloud / Sonarsource SA (技术债务分析) | | |
Jprofiler / EJ技术GMBH (关于分析:Java Profiler工具) | | |
github动作 (Windows&Linux CI/CD) |  | 您可以从这里下载最新的快照。 |
Sonarqube C ++社区插件( CXX插件)
Sonarqube是管理代码质量的开放平台。该插件为Sonarqube添加了C ++支持,重点是集成现有的C ++工具。
读取报告的传感器可以与此CXX插件或SonarcFamily插件一起使用。
执照
该插件是免费软件;您可以根据自由软件基金会发布的GNU较少的通用公共许可证的条款对其进行重新分配和/或修改它;许可证的版本3,或(您可以选择)任何以后的版本。
特征
- 解析器支持
C++03 , C++11 , C++14 , C++17 , C++20 , C++23-
C89 , C99 , C11 , C17
- 编译器特定扩展
- Microsoft扩展:
C++/CLI , Attributed ATL - GNU扩展
CUDA扩展
- Microsoft Windows和Linux用于运行时环境
静态和动态代码分析的传感器:
- CPPCHECK警告支持(http://cppcheck.sourceforge.net/)
- Sonar.cxx.cppcheck.Reportpath
- GCC/G ++警告支持(https://gcc.gnu.org/)
- Visual Studio和核心指南检查器警告支持(https://www.visualstudio.com/)
- Clang静态分析仪支持(https://clang-analyzer.llvm.org/)
- sonar.cxx.clangsa.Reportpath
- Clang-Tidy警告支持(http://clang.llvm.org/extra/clang-tidy/)
- sonar.cxx.clangtidy.Reportpath
- 推断警告支持(https://fbinfer.com/)
- Sonar.cxx.infer.Reportpath
- PC-LINT警告支持(http://www.gimpel.com/)
- Sonar.cxx.pclint.Reportpath
- 老鼠(https://github.com/andrew-d/rough-aughiting-tool-tool-for-security)
- sonar.cxx.rats.Recorpaths
- Valgrind (http://valgrind.org/)
- Sonar.cxx.Valgrind.Reportpath
- Vera ++ (https://bitbucket.org/verateam/vera/wiki/home)
- Sonar.cxx.vera.Reportpath
- 记忆警告博士支持(http://drmemory.org/)
- Sonar.cxx.drmemory.Reportpath
- 通用问题导入格式支持
- 任何其他工具都可以集成:
- 通用问题导入格式支持
- 从SARIF报告中进口问题
- Sonar.cxx.other.Reportpath
测试框架传感器:
- Xunit文件格式
- Sonar.cxx.xunit.Reportpath
- Google测试(GTEST)文件格式(https://github.com/google/googletest)
- Sonar.cxx.xunit.Reportpath
- boost.test文件格式(https://www.boost.org/doc/libs/release/ribs/libs/test/)
- sonar.cxx.xunit.sonar.cxx.xslt
- ctest(cmake)文件格式(https://cmake.org/cmake/help/latest/manual/manual/ctest.1.html)
- sonar.cxx.xunit.Sonar with ctest选项
--output-junit <file>
- cpptest文件格式(https://cpptest.sourceforge.io/)
- sonar.cxx.xunit.sonar.cxx.xslt
- cppunit文件格式(https://sourceforge.net/projects/cppunit/)
- sonar.cxx.xunit.sonar.cxx.xslt
- vstest文件格式(https://github.com/microsoft/vstest)
- Sonar.cxx.vstest.Reportpath
- Nunit文件格式(https://nunit.org/)
- Sonar.cxx.nunit.Reportpath
- 任何其他工具都可以集成:
- 通用测试执行报告格式支持
- 可以通过XLST:Sonar.cxx.xslt进行改编
覆盖范围传感器:
- Visual Studio Coverage Reports(https://www.visualstudio.com/)
- Sonar.CXX.VScoverageXMl.Reportpath
- Bullseyecoverage报告(http://www.bullseye.com/)
- Sonar.cxx.Bullseye.Reportpath
- Cobertura报道报告(http://cobertura.github.io/cobertura/)
- GCOV/GCOVR覆盖范围报告带有选项
--xml https://gcovr.com/en/stable/guide.html - 带有选项的OpenCppCoverage
--export_type=cobertura (https://github.com/opencpppcoverage/opencpppcoverage/) - Sonar.cxx.cobertura.Reportpath
- testwell CTC ++覆盖范围报告(https://www.verifysoft.com/en_ctcpp.html)
- Sonar.cxx.ctctxt.Reportpath
- 任何其他工具都可以集成:
- 通用测试覆盖报告格式支持
- 可以通过XLST:Sonar.cxx.xslt进行改编
易于自定义
- 可以通过正则表达模板进行自定义规则
- X Path模板规则的自定义规则可能
- 使用自定义规则扩展CXX存储库
- 与XML规则定义的简易第三方工具集成和报告可能
- Sonar.cxx.other.Reportpath
- 提供添加自定义规则的能力
- 在Java中编写Sonarqube插件,该插件使用Sonarqube API添加新规则
Quickstart
- 设置Sonarqube实例
- 安装插件
- 进行分析
资源
贡献
欢迎您贡献。需要帮助。
替代方案
当您在Sonarqube寻找C ++支持时,这也不是唯一的选择
- 来自Sonarsource的商业声卡插件
- 来自CPPD的商业C/C ++插件
- 商业PVS-Studio插件
- 封面插件
选择适合您需求的任何东西。