VSCode 的 Duplicate Finder 插件不生成持久化日志文件,所有检测结果仅在侧边栏实时显示且关闭即丢;它无后台进程、不写磁盘日志、不输出到“输出”面板,仅内存扫描+UI 渲染。

VSCode 本身不生成“代码重复检测日志”,CodeMirror Duplicate Finder 等插件也不会写入文件日志;所谓“检测结果”只在 UI 中实时呈现,关闭即丢,没有持久化日志路径可查。
为什么找不到重复检测日志文件
插件运行时不写磁盘日志,只做内存扫描+UI 渲染。它不像调试器或扩展主机那样产生 exthost.log 或 main.log —— 它没有后台进程、不监听事件、不上报状态,就是一次性的文本比对操作。
-
duplicate-finder的输出完全依赖侧边栏面板,不向“输出”面板(Ctrl+Shift+U)投递任何内容 - 即使开启
duplicate-finder.debug: true,也仅在开发者工具控制台打印少量调试信息,不落盘 - 所有扫描参数(如
minLines、similarityThreshold)只影响当前会话行为,不记录执行时间、匹配数、耗时等元数据
怎么确认重复检测是否真在运行
没日志不等于没效果,得看它有没有触发成功和输出结果:
- 右键文件或工作区 → 找到
Find Duplicates in Workspace(不是“Find in Files”),点击后等待几秒,侧边栏出现分组列表才算启动成功 - 若长时间无响应,打开开发者工具(
Developer: Open Developer Tools),过滤duplicate关键词,看是否有Scanning X files...或报错(如ENOTDIR表示被.gitignore拦截) - 检查设置里
duplicate-finder.includeStrings是否为true:默认为false,模板字符串、JSX 内容直接跳过,容易误判“没扫到”
真正能留痕的替代方案
如果需要可追溯的重复代码审计记录,必须绕过插件 UI,走命令行或 Git 提交固化:
- 用
simian命令行工具跑一次全量扫描:simian -includes=**/*.ts,**/*.js -threshold=75 src/,输出是纯文本,可存档、可 diff、可进 CI - 把重复块特征关键词(如
localStorage.setItem、axios.post)记进 Git 提交信息,配合Git: Search Commits回溯人工标记点 - 在
package.json里加脚本:"check-dup": "simian -threshold=70 src/ > dup-report-$(date +%Y%m%d).txt",每次运行都生成带时间戳的报告文件
别指望插件自动给你留运行日志——它连自己扫了哪几个文件都不记。要归档,就得自己动手把扫描动作变成可重放、可提交、有路径的步骤。


















