Commit Graph

12 Commits

Author SHA1 Message Date
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 498c3f43e6 docs: 精简README为插件预览页,使用实际settings.json作为hooks配置 2026-06-18 21:00:17 +08:00
Gmarker689 57632d23a5 docs: README加入安装步骤和Claude Code Hooks必须配置说明
- 删除独立的 .jsonc 示例文件(vsix不会包含)
- README新增安装方式A(vsix直接)和B(源码编译)
- README新增⚠️必须配置章节,含完整 hooks JSON 可复制粘贴
- 说明项目级/用户级 settings.json 位置
2026-06-18 19:53:36 +08:00
Gmarker689 d1f4180dd9 docs: 添加 Claude Code Hooks 配置文件 2026-06-18 19:50:09 +08:00
Gmarker689 76a230a679 docs: 完善README使用方法 — 快速开始 + 一键速查 + 逐文件审查流程 2026-06-18 19:47:21 +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