# 14 Sidex / MNote Workbench Gap Follow-up Review v1

> 状态：reference
>
> 归档说明（2026-05-21）：本 follow-up review 已拆分出 `5-24`、`5-25`、`5-26`、`4-45` 等执行项；本文保留为后续 workbench 对照参考，不作为直接执行清单。
>
> 日期：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. 本轮执行拆分

拆为四个方向并行推进：

- `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`
- `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 全量搬过来。
