mirror of
https://github.com/Gmaker689/ai-diff-preview.git
synced 2026-09-27 03:21:52 +08:00
a7c992a804
- 移除旧的 DiffEngine、InlineDecorator、CodeLensProvider 等模块 - 新增 ChangeSetManager 统一管理代码变更快照 - 新增 reviewPanel.ts 实现双栏 Review Webview 面板 - 简化 hookHandler.ts,直接通过 ChangeSet 收集变更 - 简化 extension.ts 入口,移除冗余模块导入 - 更新 types.ts,精简 ChangeSet 和 ChangeEntry 类型定义 - package.json 添加 onStartupFinished 激活事件
1.9 KiB
1.9 KiB
AI Diff Preview 测试文件
这是一个测试文件,用于验证 AI Diff Preview 插件的完整工作流程。
已完成功能
- ✅ 快照管理(Base/Suggest 双版本隔离)
- ✅ Diff 计算引擎(Myers 算法 + 变更块切割)
- ✅ Accept/Reject 事务处理(原子化写入)
- ✅ Claude Hooks 集成(PostToolUse 触发)
- ✅ 内联装饰器渲染(红绿高亮)
- ✅ CodeLens 按钮(逐块操作)
待实现功能
- Diff 面板(多文件对比视图)
- 冲突检测(用户手动修改检测)
- 状态栏集成
- 快捷键绑定
测试说明
修改此文件后,PostToolUse hook 会触发 VSCode 扩展, 自动创建快照并显示 Diff 预览,可通过 Accept/Reject 操作变更。
测试记录
- 2026-06-17: 第一次测试 hook 触发链路
- 2026-06-17: 第二次测试 - 改为原生 Diff Editor 方案
- 预期效果: 对话结束后弹出通知,点击后打开 VSCode 原生双栏 Diff
- 状态: 重启后测试
新增测试内容
这段文字用于验证 PostToolUse hook 能否正确收集变更, 并在对话结束后通过 VSCode 原生 Diff Editor 展示。
第三轮测试
- 改为内嵌 Webview 悬浮窗
- 双栏 Diff + Accept/Reject 按钮
- 不弹系统窗口,全部在面板内操作
- 时间: 2026-06-17 22:40
第四轮测试
- 修复命令名: showReviewPanel → showDiffPanel
- 修复 Reject: 拒绝时回写原始内容到磁盘
- 新增 rejectFileChange 方法
- 预期: 点击 Reject 后文件恢复原状
第五轮测试 - 内嵌悬浮窗验证
这次修改用于验证:
- Webview 面板能否正常弹出
- 双栏 Diff 是否正确显示新增/删除行
- Accept 按钮是否生效
- Reject 按钮是否回写原始内容
测试时间: 2026-06-17 23:00
第六轮测试
- 修复了所有已知问题
- 现在应该能正常工作
- 验证: 面板弹出 + Accept/Reject + 文件回写