✨ feat(vscode): 会话列表删除前弹确认框
删除会关掉终端 tab 并抹掉列表记录,之前点一下就执行。现在先弹 modal 确认,带上会话名字。 Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
This commit is contained in:
1 parent
3d9f0e02c6
commit
743e0e7325
1 file changed
+9
-1
@@ -319,9 +319,17 @@ export async function handleManagedSessionsDelete(panel: KanbanWebviewPanel, ses
|
|||||||
const workspaceRoot = workspace.workspaceFolders?.[0]?.uri.fsPath
|
const workspaceRoot = workspace.workspaceFolders?.[0]?.uri.fsPath
|
||||||
if (!workspaceRoot)
|
if (!workspaceRoot)
|
||||||
return
|
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。
|
// 删除前先关掉该会话的终端 tab。
|
||||||
panel.managedTerminals.get(sessionId)?.dispose()
|
panel.managedTerminals.get(sessionId)?.dispose()
|
||||||
const data = await readManagedSessions(workspaceRoot)
|
|
||||||
const next = { sessions: data.sessions.filter(s => s.id !== sessionId) }
|
const next = { sessions: data.sessions.filter(s => s.id !== sessionId) }
|
||||||
await writeManagedSessions(workspaceRoot, next)
|
await writeManagedSessions(workspaceRoot, next)
|
||||||
panel.managedTerminals.delete(sessionId)
|
panel.managedTerminals.delete(sessionId)
|
||||||
|
|||||||
Reference in new issue
Block a user