1.5 KiB
1.5 KiB
代码变更审查功能
功能概述
AI 修改文件后,会在输入框上方显示"代码变更"面板,用户可以查看所有修改并选择采纳或拒绝。
核心文件
1. 数据结构
src/types/fileChanges.ts- 变更数据类型定义
2. 服务层
src/services/changeTracker.ts- 变更追踪服务(单例)trackChange()- 记录文件变更acceptChange()- 采纳变更(保存文件)rejectChange()- 拒绝变更(恢复旧内容)
3. UI 组件
src/views/changePanel.ts- 变更面板 UIsrc/utils/diffRenderer.ts- Diff 可视化渲染
4. 集成点
-
src/utils/messageHandler.ts- 消息处理trackFileChange()- 记录变更handleAcceptChange()- 处理采纳handleRejectChange()- 处理拒绝sendChangesToWebview()- 发送变更到前端
-
src/services/toolExecutor.ts- 工具执行器- 在
executeFileWrite()中记录变更
- 在
使用流程
- 开始对话 - 调用
startChangeSession(sessionId) - 修改文件 - 自动调用
trackFileChange() - 对话结束 - 调用
sendChangesToWebview()显示变更面板 - 用户操作 - 点击采纳/拒绝按钮
- 处理结果 - 保存或恢复文件内容
待完成工作
- 在 ICHelperPanel 中集成消息处理(监听 acceptChange/rejectChange 命令)
- 在对话结束时调用
sendChangesToWebview() - 在 Webview 中实现变更列表的动态渲染
- 处理前端的采纳/拒绝响应