CodeMirror Duplicate Finder 的重复检测结果仅实时高亮于编辑器内并分组显示在侧边栏“Duplicate Finder”标签下,不生成HTML或JSON等结构化报告;点击分组项可直接跳转至所有匹配位置。

VSCode 本身不生成结构化分析报告,所谓“重复检测结果”就是插件实时高亮+侧边栏分组列表,没有 HTML 或 JSON 报告可导出。
CodeMirror Duplicate Finder 的结果在哪看
插件触发后(右键 → Find Duplicates in Workspace),结果只出现在两个地方:
- 编辑器内:所有疑似重复块被统一高亮,颜色相同即属同一组
- 侧边栏:打开
Explorer视图 → 点击顶部Duplicate Finder标签 → 每个分组显示「X occurrences」,点击任意一项直接跳转到对应文件位置
注意:它不提供汇总统计(如“共发现 12 处重复”)、不标优先级、不分严重等级——只做文本块聚类,没“报告”概念。
为什么找不到重复结果?先查这三处硬伤
常见“搜不到”不是插件失效,而是扫描范围被主动或被动截断:
-
.gitignore或files.exclude排除了目标目录(例如"src/utils/**"被忽略,但你想查的是这里) - 文件编码含 BOM 或非 UTF-8(尤其 Windows 下的 ANSI 文件,插件解析失败但不报错)
- 重复代码藏在模板字符串、JSX 或注释里——默认跳过这些区域,需手动开启
duplicate-finder.includeStrings: true
相似度阈值和最小行数怎么调才合理
默认 duplicate-finder.minLines: 8 和 duplicate-finder.similarityThreshold: 85 对业务代码偏严:
- 小函数/React Hook 常只有 4–6 行,建议调成
5 - 变量名一换相似度就掉到 70 以下,
75更贴近真实开发场景 - 调低后会多出噪声(比如都带
console.log的空行),但比漏掉关键重复块强
改完配置要重启 VSCode 才生效,别只重载窗口。
“变体重复”根本不会出现在结果里
以下情况插件完全无响应,别浪费时间调参数:
- 两段逻辑仅差一个参数名(
datavspayload)或缩进风格 - 同一段校验被拆进两个
if分支,结构错位 - 一个用
axios.post,另一个用fetch—— 协议不同,语义归一化不在插件能力范围内
这类必须人工介入:用 Ctrl+Shift+F 搜共性关键词(如 localStorage.setItem、catch (err)),再把上下文复制进 diffchecker.com 快速比对。工具只负责把“整个项目”压缩成“三四份可疑文件”,剩下的判断得你来定。


















