VSCode扩展市场无“优质”标签,应聚焦duplicate-finder等具体关键词,核查更新时间(须2026年内)、Closed Issues响应时效及vscode-languageclient版本兼容性(需≥^9.0.0),安装后须调低similarityThreshold、启用includeStrings并验证扫描范围。

别指望“优质”标签——VSCode 扩展市场没有这个字段,所谓靠谱的重复检测工具,得靠你用具体关键词+维护指标手动筛出来。
搜 duplicate-finder,别搜“查重”或“代码重复”
VSCode 市场不支持语义搜索,输入模糊词如“重复检测”“代码查重”会返回一堆失效插件或仅支持单行去重的玩具工具。真正能识别逻辑相似块(比如两个函数只差变量名、缩进、注释位置)的,目前只有少数几个静态分析类扩展,其中 CodeMirror Duplicate Finder 是响应最快、配置最轻的一个。
- 直接在扩展面板搜
duplicate-finder,认准作者是codemirror(不是拼写近似的其他账号) - 避开名字带
line、row、trim的插件,它们通常只做行级去重,对函数/逻辑块无效 - React 项目可加搜
react duplicate,但别信“React 专用查重”——目前没有插件真能跨 JSX/TSX 做语义归一化
安装前必须看三项:更新时间、Closed Issues、依赖版本
一个查重插件如果停更超过 4 个月,在 VS Code 1.96+ 和 Node.js 20.x 环境下大概率解析失败或静默跳过某些文件类型(尤其是含 TypeScript 装饰器或新语法的代码)。
-
Last updated必须是 2026 年内(当前是 10 月),否则跳过 - 点进
Issues标签页,筛选Closed,看最近 10 条是否多数在 2 周内关闭——说明作者真在响应问题 - 展开
Dependencies,确认有没有vscode-languageclient;如果版本是^6.0.0或更低,而你 VS Code 是 1.90+,基本不能用(新版要求^9.0.0)
装完立刻验证:它到底扫到了什么?
很多用户装完就以为“生效了”,结果第一次右键 Find Duplicates in Workspace 却只返回空结果——不是插件坏了,是默认配置或项目结构挡住了扫描。
- 先改两个关键设置:
"duplicate-finder.minLines": 5(小 hooks/工具函数常不足 8 行)、"duplicate-finder.similarityThreshold": 75(变量名一换,85% 相似度就崩) - 检查
.gitignore是否排除了你想扫的目录(比如"src/utils/**"),插件默认尊重该文件 - 若重复代码藏在模板字符串或 JSX 中,必须手动开启
"duplicate-finder.includeStrings": true,否则直接跳过 - 触发后看侧边栏分组列表:如果只有一组且全是
console.log,说明阈值设太高或项目本身重复少;如果压根没分组,优先检查编码——Windows 上带 BOM 的 UTF-8 文件会让部分插件解析失败
别指望它发现所有重复,变体逻辑必须人工收尾
插件对“同一段逻辑被复制后改个参数名、拆成两个 if 分支、加一行日志、或从普通函数改成箭头函数”的情况完全无感。这时候它唯一价值是帮你把全项目缩小到三四个可疑文件。
- Ctrl+Shift+F 搜共性关键词,比如
localStorage.setItem、axios.post、catch (err) - 把疑似块复制进
diffchecker.com快速比对结构差异 - 真要跨语言/跨风格扫,用命令行工具
simian(需配simian.json),它对空格缩进更宽容,但无法集成进 VS Code 编辑流程
最常被忽略的是:插件扫出的“重复”,有些其实不该合并——比如两处超时时间不同(5000 vs 10000)是业务需要,不是冗余。判断权永远在你手上,不在侧边栏的高亮里。











