diff --git a/vscode/src/panel/handlers/managedSessions.ts b/vscode/src/panel/handlers/managedSessions.ts index f71297c..2a843c6 100644 --- a/vscode/src/panel/handlers/managedSessions.ts +++ b/vscode/src/panel/handlers/managedSessions.ts @@ -319,9 +319,17 @@ export async function handleManagedSessionsDelete(panel: KanbanWebviewPanel, ses const workspaceRoot = workspace.workspaceFolders?.[0]?.uri.fsPath if (!workspaceRoot) return + const data = await readManagedSessions(workspaceRoot) + const target = data.sessions.find(s => s.id === sessionId) + const choice = await window.showWarningMessage( + `确定从会话列表删除「${target?.name ?? sessionId}」?会关掉它的终端 tab,列表记录不可恢复(cc 会话本身的历史仍在 ~/.claude 里)。`, + { modal: true }, + '删除', + ) + if (choice !== '删除') + return // 删除前先关掉该会话的终端 tab。 panel.managedTerminals.get(sessionId)?.dispose() - const data = await readManagedSessions(workspaceRoot) const next = { sessions: data.sessions.filter(s => s.id !== sessionId) } await writeManagedSessions(workspaceRoot, next) panel.managedTerminals.delete(sessionId)