2026-05-21 05:57:19 +08:00
|
|
|
# 14 Sidex / MNote Workbench Gap Follow-up Review v1
|
|
|
|
|
|
2026-05-21 10:19:02 +08:00
|
|
|
> 状态:reference
|
2026-05-21 09:04:13 +08:00
|
|
|
>
|
|
|
|
|
> 归档说明(2026-05-21):本 follow-up review 已拆分出 `5-24`、`5-25`、`5-26`、`4-45` 等执行项;本文保留为后续 workbench 对照参考,不作为直接执行清单。
|
2026-05-21 05:57:19 +08:00
|
|
|
>
|
|
|
|
|
> 日期:2026-05-21
|
|
|
|
|
>
|
|
|
|
|
> 范围:在 12 号 review 已覆盖的基础上,继续对照 Sidex / VSCode workbench,收口当前仍最有价值的 editor/workbench 差距。
|
|
|
|
|
|
|
|
|
|
## 1. 本轮背景
|
|
|
|
|
|
|
|
|
|
上一轮对照已经把 P0/P1 的大方向列出,也推动了 main resource tab、Office local writeback、side target、filetree action layer 的若干补齐。当前需要继续沿 Sidex / VSCode 对照,找出仍值得优先参考的 workbench 细节,避免把精力花在已经收口或不值得照搬的部分。
|
|
|
|
|
|
|
|
|
|
## 2. 当前已收口或已在推进的部分
|
|
|
|
|
|
|
|
|
|
- `resourceTabRegistry` 已有基础的 active tab / close / URL state 行为。
|
|
|
|
|
- `openTarget=side` 已有轻量 side target 合同。
|
|
|
|
|
- `mindmap` 已能进入 main editor resource tab。
|
|
|
|
|
- `open/edit` 相关 Office 行为已区分默认 view、显式 edit、new-window 与 main resource tab。
|
|
|
|
|
- local folder sort order、close guard、filetree readonly action layer 已有对应 checklist。
|
|
|
|
|
|
|
|
|
|
## 3. 仍值得继续参考 Sidex 的切面
|
|
|
|
|
|
|
|
|
|
### 3.1 Open Editors 视图 / tab 模型聚合
|
|
|
|
|
|
|
|
|
|
VSCode 的 `OpenEditorsView` 不是单纯 tab strip,而是和 group model、dirty state、label refresh、active focus、drag and context menu 绑在一起。MNote 目前有 `resourceTabRegistry` 和 DOM tab strip,但还缺少一个更像“可被 Sidebar / 搜索 / 快捷键复用”的轻量 open editors 聚合视图。
|
|
|
|
|
|
|
|
|
|
### 3.2 tab 键盘 / MRU / 上下文菜单动作一致性
|
|
|
|
|
|
|
|
|
|
VSCode 的 tab 组支持聚焦、左右切换、关闭、关闭其他、固定、上下文菜单等。MNote 当前主要靠鼠标点击和少量 close 行为,键盘 roving / MRU / group context action 仍可参考。
|
|
|
|
|
|
|
|
|
|
### 3.3 资源打开目标的 resolver 集中化
|
|
|
|
|
|
|
|
|
|
Sidex 的 Explorer 不直接决定具体 editor 类型,而是统一交给 editor service + editor input resolver。MNote 现在的资源 open 逻辑已收拢不少,但正文附件、FileTree、side target、new-window 仍有分支,需要继续收敛到一个更明确的 resolver 入口。
|
|
|
|
|
|
|
|
|
|
### 3.4 资源生命周期与 filetree / open editors 联动
|
|
|
|
|
|
|
|
|
|
VSCode 的 Open Editors / Explorer / working copy / dirty indicator 是一条链。MNote 需要继续确认:
|
|
|
|
|
|
|
|
|
|
- tab 关闭和 dirty / saving / conflict 提示
|
|
|
|
|
- filetree active row 与 resource tab active state 的联动
|
|
|
|
|
- open editors 视图是否值得在当前阶段做成轻量聚合
|
|
|
|
|
|
|
|
|
|
## 4. 不建议继续照搬的部分
|
|
|
|
|
|
|
|
|
|
- 不要直接引入完整多 group grid。
|
|
|
|
|
- 不要照搬完整 DI / service container。
|
|
|
|
|
- 不要把 Monaco 文本模型当成 MNote 主事实源。
|
|
|
|
|
- 不要把 VSCode 插件宿主体系当成当前主线。
|
|
|
|
|
|
|
|
|
|
## 5. 本轮执行拆分
|
|
|
|
|
|
|
|
|
|
拆为四个方向并行推进:
|
|
|
|
|
|
2026-05-21 09:04:13 +08:00
|
|
|
- `design/05-editor-mainline/done/5-24-open-editors-lightweight-view-checklist-v1.md`
|
|
|
|
|
- `design/05-editor-mainline/done/5-25-editor-tab-keyboard-and-mru-checklist-v1.md`
|
2026-05-21 05:57:19 +08:00
|
|
|
- `design/05-editor-mainline/process/5-26-resource-open-resolver-convergence-checklist-v1.md`
|
|
|
|
|
- `design/04-tree-domain/process/4-45-filetree-open-editors-lifecycle-link-checklist-v1.md`
|
|
|
|
|
|
|
|
|
|
## 6. 预期结果
|
|
|
|
|
|
|
|
|
|
- 先用 review / checklist 明确还值得参考的 Sidex 切面。
|
|
|
|
|
- 再派发多个 Reasonix 并行执行。
|
|
|
|
|
- 由 Codex 复核是否真的能对齐 MNote 的主线,而不是把 VSCode 全量搬过来。
|