✨ feat(vscode): 五种会话 id 行都能用橡皮擦清除本机记录,别的机器上的旧会话不再挡着新起
This commit is contained in:
1 parent
4d905ff16e
commit
d604b6f426
12 files changed
+169
-64
No files matched your search
@@ -0,0 +1,51 @@
|
||||
import type { SessionTabKind } from './terminals'
|
||||
|
||||
/** 工单 state 里存各种会话 id 的字段。 */
|
||||
export type SessionIdField = 'sessionId' | 'implementSessionId' | 'reviewSessionId' | 'testSessionId' | 'prototypeSessionId'
|
||||
|
||||
/**
|
||||
* 每种会话对应的 state 字段、中文角色名,以及清除该会话 id 后的后续提示:
|
||||
* confirmHint 进确认框,doneHint 进成功 toast。
|
||||
*/
|
||||
export const SESSION_KINDS: Record<SessionTabKind, { field: SessionIdField, role: string, confirmHint: string, doneHint: string }> = {
|
||||
brainstorm: {
|
||||
field: 'sessionId',
|
||||
role: '头脑风暴',
|
||||
confirmHint: '下次续聊会新开会话',
|
||||
doneHint: '下次续聊将新开会话',
|
||||
},
|
||||
implement: {
|
||||
field: 'implementSessionId',
|
||||
role: '实施',
|
||||
confirmHint: '清除后可点 ▶ 重新实施,注意重新实施会删掉远程 feature 分支,别的机器上的实施进度会丢',
|
||||
doneHint: '可点 ▶ 重新实施(会删掉远程 feature 分支)',
|
||||
},
|
||||
review: {
|
||||
field: 'reviewSessionId',
|
||||
role: '审查',
|
||||
confirmHint: '清除后可点 ▶ 新起一个',
|
||||
doneHint: '可点 ▶ 新起一个',
|
||||
},
|
||||
test: {
|
||||
field: 'testSessionId',
|
||||
role: '测试',
|
||||
confirmHint: '清除后可点 ▶ 新起一个',
|
||||
doneHint: '可点 ▶ 新起一个',
|
||||
},
|
||||
prototype: {
|
||||
field: 'prototypeSessionId',
|
||||
role: '原型',
|
||||
confirmHint: '清除后可点 ▶ 新起一个',
|
||||
doneHint: '可点 ▶ 新起一个',
|
||||
},
|
||||
}
|
||||
|
||||
export function clearSessionConfirmText(issueNumber: number, kind: SessionTabKind, sessionId: string): string {
|
||||
const { role, confirmHint } = SESSION_KINDS[kind]
|
||||
return `确定清除工单 #${issueNumber} 的${role}会话 id(${sessionId})?只清本机记录,别的机器不受影响;会话文件不删。${confirmHint}。`
|
||||
}
|
||||
|
||||
export function clearSessionDoneText(issueNumber: number, kind: SessionTabKind): string {
|
||||
const { role, doneHint } = SESSION_KINDS[kind]
|
||||
return `工单 #${issueNumber} 的${role}会话 id 已清除,${doneHint}`
|
||||
}
|
||||
Reference in new issue
Block a user