✨ feat(vscode): 头脑风暴会话一键续聊,终端开着直接打进去、关了带提示词恢复
详情面板「头脑风暴会话id」行的 ▶ 改为续聊:规划终端还开着就把续聊提示词 打进去;终端关了但有会话 id 就 `claude --resume <id>` 带提示词恢复;没会话 才新开。属性行右侧按钮改为数组,续聊与关闭 tab 可并存。 Claude-Session: https://claude.ai/code/session_01KDcq9HcrVLs2c9tkRxasub
This commit is contained in:
1 parent
90600cf070
commit
ae875756a9
15 files changed
+307
-297
No files matched your search
@@ -56,19 +56,25 @@ export function injectIntoImplTerminal(panel: KanbanWebviewPanel, issueNumber: n
|
||||
}
|
||||
if (!terminal)
|
||||
return false
|
||||
// cc 的 TUI 在 raw 模式下,LF (\n) 只算输入框内的换行,CR (\r)
|
||||
// 才会被识别为 Enter(提交消息)。实测把多行内容 + 末尾 \r 在同一次
|
||||
// sendText 里发出去时,cc 进入多行输入模式后并不会把紧跟的 \r 当成
|
||||
// 提交键,结果就是反馈只粘贴到输入框、没提交。
|
||||
// 拆两次发:先把内容完整推进输入框,250ms 后再独立发一个 \r 作为 Enter。
|
||||
const body = `\n[审查反馈]\n${text}`
|
||||
terminal.sendText(body, false)
|
||||
setTimeout(() => {
|
||||
terminal!.sendText('\r', false)
|
||||
}, 250)
|
||||
submitToSessionTerminal(terminal, `\n[审查反馈]\n${text}`)
|
||||
return true
|
||||
}
|
||||
|
||||
/**
|
||||
* 往正在跑 cc / codex TUI 的终端里提交一条消息。
|
||||
*
|
||||
* TUI 在 raw 模式下,LF (\n) 只算输入框内的换行,CR (\r) 才会被识别为
|
||||
* Enter。实测多行内容 + 末尾 \r 在同一次 sendText 里发出去时,TUI 进入
|
||||
* 多行输入模式后不会把紧跟的 \r 当成提交键,内容只粘贴到输入框、没提交。
|
||||
* 所以拆两次发:先把内容完整推进输入框,250ms 后再独立发一个 \r 作为 Enter。
|
||||
*/
|
||||
export function submitToSessionTerminal(terminal: Terminal, text: string): void {
|
||||
terminal.sendText(text, false)
|
||||
setTimeout(() => {
|
||||
terminal.sendText('\r', false)
|
||||
}, 250)
|
||||
}
|
||||
|
||||
/**
|
||||
* 本机是否开着该工单的存活终端(exitStatus undefined)——webhook 门禁对
|
||||
* 无 assignee 存量工单的兜底证据。不依赖 panel:看板关闭时实施终端
|
||||
|
||||
Reference in new issue
Block a user