SuperAPI AI 工具集

sonar-duplication

通用与其它

查看项目

更新于 10-16 03:03

技能介绍

用途:在 SonarQube 项目中查找存在代码重复的文件,并按需查看某个文件的重复代码块。

主要能力:列出含重复代码的文件(默认自动翻页,最多 10000 个文件);支持指定项目、拉取请求(--pr)、手动分页(--page-size、--page);通过 --file 查看单个文件的重复块详情。

使用方式: sonar-duplication sonar-duplication my-project sonar-duplication my-project --pr 42 sonar-duplication my-project --page-size 100 --page 2 sonar-duplication my-project --file src/auth/login.py

前置条件:需配置 SonarQube MCP Server,并确保会话中可用 mcp__sonarqube__search_duplicated_files 与 mcp__sonarqube__get_duplications 工具。若不可用,可回退到 sonar api CLI,例如: sonar api get "/api/measures/component_tree?component=<project-key>&metricKeys=duplicated_lines,duplicated_blocks,duplicated_lines_density&qualifiers=FIL&strategy=leaves" sonar api get "/api/duplications/show?key=<file-key>"

项目键解析:优先使用用户提供的键,否则查找仓库根目录 sonar-project.properties 中的 sonar.projectKey,仍无则依赖集成默认值。文件键格式为 <projectKey>:<path>。

限制:查看重复详情需要项目上的 Browse 权限;MCP 工具不可用时需排查 MCP 服务器是否注册、容器运行时(Docker/Podman/Nerdctl)是否运行、凭据是否配置、项目键是否正确。CLI 回退需显式项目键且无自动翻页。若仍失败,应提示用户运行 sonar-integrate 技能,不要臆造其他命令。