✨ feat(vscode): profile 值编辑器改为多行+图片粘贴(图片落 .spx/profile-assets)
双击 profile 值单元格改为打开富编辑弹窗:多行 textarea + Ctrl+V 粘贴截图, ⌘/Ctrl+Enter 或点遮罩保存、Esc 取消。值仍是单个字符串,图片存磁盘 (内容寻址 sha1 命名,去重),值里只留 markdown 引用,不撑大 profiles.json。 折叠单元格显示首行 + 含图时加 🖼 徽标。key/列头仍走原内联输入。 - 抽公用 lib/imagePaste:同步探测(preventDefault) + 异步读取,新建工单改用它、行为不变 - 新增扩展侧 profileAssets handler:存图(image/* 校验)/读图(挡路径穿越) - 新增 useProfileAssets(requestId 关联并发) 与 ProfileCellEditor 弹窗 - 消息两侧同步 profile-asset/save|load|saved|loaded
This commit is contained in:
@@ -27,6 +27,7 @@ import { loadYouTrackIssues } from '../youtrack/issueLoader'
|
||||
import * as issues from './handlers/issues'
|
||||
import * as managedSessions from './handlers/managedSessions'
|
||||
import * as prFiles from './handlers/prFiles'
|
||||
import * as profileAssets from './handlers/profileAssets'
|
||||
import * as sessions from './handlers/sessions'
|
||||
import * as settings from './handlers/settings'
|
||||
import * as terminals from './handlers/terminals'
|
||||
@@ -378,6 +379,14 @@ export class KanbanWebviewPanel {
|
||||
void settings.handleProfilesList(this)
|
||||
return
|
||||
}
|
||||
if (msg.type === 'profile-asset/save') {
|
||||
void profileAssets.handleSaveProfileAsset(this, msg)
|
||||
return
|
||||
}
|
||||
if (msg.type === 'profile-asset/load') {
|
||||
void profileAssets.handleLoadProfileAsset(this, msg)
|
||||
return
|
||||
}
|
||||
if (msg.type === 'toast/open-url') {
|
||||
void env.openExternal(Uri.parse(msg.url))
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user