feat:代码变更diff可视化功能实现

This commit is contained in:
Roe-xin
2026-03-02 10:00:04 +08:00
parent 3e18299099
commit 4c7ec65577
13 changed files with 1195 additions and 1 deletions

View File

@ -13,6 +13,10 @@ import {
handlePlanAction,
getCurrentTaskId,
setLastTaskId,
handleAcceptChange,
handleRejectChange,
startChangeSession,
handleOpenFileDiff,
} from "../utils/messageHandler";
import { compactDialog } from "../services/apiClient";
import { VCDViewerPanel } from "./VCDViewerPanel";
@ -344,6 +348,10 @@ export async function showICHelperPanel(
// 切换到当前面板的任务上下文
historyManager.switchToPanelTask(panelId);
// 启动变更追踪会话
const sessionId = `session_${panelId}_${Date.now()}`;
startChangeSession(sessionId);
// 显示进度条
panel.webview.postMessage({ type: "showProgress" });
@ -476,6 +484,24 @@ export async function showICHelperPanel(
// 退出登录
vscode.commands.executeCommand("ic-coder.logout");
break;
case "acceptChange":
// 采纳变更
if (message.changeId) {
await handleAcceptChange(panel, message.changeId);
}
break;
case "rejectChange":
// 拒绝变更
if (message.changeId) {
await handleRejectChange(panel, message.changeId);
}
break;
case "openFileDiff":
// 打开文件 diff
if (message.changeId) {
await handleOpenFileDiff(panel, message.changeId);
}
break;
case "checkInvitationCode":
// 检查邀请码验证状态
{