Commit Graph

9 Commits

Author SHA1 Message Date
Gmarker689 23337a2aef fix: Diff打开后立即触发状态栏刷新 + 临时文件只在Accept/Reject时删除 2026-06-18 21:31:02 +08:00
Gmarker689 a87773e76f fix: Diff状态栏按钮原子性保证 — isOpening锁防竞态 + session先于vscode.diff设置 2026-06-18 21:28:38 +08:00
Gmarker689 1d8158c9d0 fix: 状态栏Diff模式精简为2按钮 Accept/Reject 解决显示不全 2026-06-18 21:11:00 +08:00
Gmarker689 d9c4c0f649 fix: Diff打开后立即触发状态栏刷新 + 临时文件只在Accept/Reject时删除
- showFileDiff/showEditDiff 末尾调用 onDiffAction 通知状态栏切换 Diff 模式
- deleteSessionFiles 独立方法,只在 Accept/Reject 时调用
- clearSession 仅清除会话状态,不删文件(手动关 Diff 后可重新打开)
2026-06-18 21:05:01 +08:00
Gmarker689 dfa3a585c5 v0.2.0: VSCode内置Diff + QuickPick总览 + EditRecord粒度 + Bug修复
新增:
- VSCode内置Diff编辑器 (diffViewer.ts) 替代Webview,零保存提示
- EditRecord独立追踪: 每次Edit/Write不合并,支持逐次编辑Accept/Reject
- QuickPick文件列表总览,含Accept All / Reject All
- 智能Auto-Advance: Accept/Reject后自动推进,同文件多编辑智能停留
- 状态栏常驻显示  AI Diff,Diff模式下切换为操作按钮

修复:
- Accept后同文件再编辑不触发选项 (pending-priority匹配)
- Accept All / Reject All写入与状态顺序修复
- acceptFile/rejectFile改为先写入成功再标记状态
- 同文件多个FileChange孤儿编辑问题

变更:
- ChangeSetManager重构为EditRecord[] + FileChange聚合
- HookHandler精简,QuickPick移入hookHandler
- 移除InlineDecorator/CodeLens (主流程),ReviewPanel降级为备用
- package.json: publisher=YonHao Guo, repository, v0.2.0, 新配置项/快捷键

测试: 13/13通过 (7 diffEngine + 6 changeSetManager回归)
2026-06-18 19:37:21 +08:00
Gmarker689 fcda651760 refactor: 架构变更:Webview → VSCode 内置 Diff + 浮动标签 2026-06-18 08:05:24 +08:00
Gmarker689 f06914994d fix:修复diff范围问题 2026-06-18 07:58:54 +08:00
Gmarker689 a7c992a804 refactor: 重构为 Webview Review 面板架构
- 移除旧的 DiffEngine、InlineDecorator、CodeLensProvider 等模块
- 新增 ChangeSetManager 统一管理代码变更快照
- 新增 reviewPanel.ts 实现双栏 Review Webview 面板
- 简化 hookHandler.ts,直接通过 ChangeSet 收集变更
- 简化 extension.ts 入口,移除冗余模块导入
- 更新 types.ts,精简 ChangeSet 和 ChangeEntry 类型定义
- package.json 添加 onStartupFinished 激活事件
2026-06-18 00:09:56 +08:00
Gmarker689 3168e81aa6 feat: 初始化 AI Code Diff Preview 插件项目
- 核心架构搭建:四层架构设计(触发层、隔离层、Diff引擎、UI层)
- 快照管理器:管理 Base/Suggest 双版本,隔离 AI 生成代码
- Diff 引擎:基于 Myers 算法计算差异,生成变更块
- 内联装饰器:红绿高亮显示删除/新增行
- CodeLens 提供器:提供 Accept/Reject 按钮
- 事务处理:Accept/Reject 原子化操作
- Claude Hooks 集成:支持 after_code_edit/after_write_file 事件
- 状态栏显示:实时显示变更状态
- 基础测试用例:7 个测试全部通过

技术栈:TypeScript + VSCode Extension API + diff 库 + esbuild
2026-06-17 21:11:33 +08:00