# 文件管理编辑器面板（SPA）

**日期**: 2026-06-01  
**状态**: 已确认  
**依据**: `2026-05-18-file-manager-v2-design.md` §四、`2026-05-30-monaco-ide-editor` changelog

## 背景

当前 `MonacoEditor.vue` 使用 `v-dialog fullscreen`，遮挡整个应用，与历史设计不符：

| 文档 | 编辑器形态 |
|------|------------|
| v2 设计 §四 | 工具栏 + 编辑区 + **底部状态栏**（行/列/语言），非占满视口 |
| v2 计划任务 5 | 对话框约 **95vw × 90vh** |
| 2026-05-30 IDE 重构 | **分屏 IDE**、多标签、可最小化/最大化，非唯一全屏 |

## 目标

1. 编辑器默认嵌入 `#/files` 页面底部，文件列表仍可见（约上半屏）
2. 多文件标签页，切换保留各文件内容与修改状态
3. 状态栏：行、列、语言、远程路径
4. 工具栏：保存、主题、**最大化**、关闭面板、**最小化**到底部标签条
5. 保留 Ctrl+S、Esc、未保存关闭确认

## 布局（v2 完整）

```
┌─ 工具栏 / 面包屑 / 文件表（可滚动，约 42vh）────────┐
├─ 编辑器面板 ────────────────────────────────────────┤
│ [tab1●] [tab2]                    [保存][主题][⛶][─][×] │
│ ┌─ Monaco ─────────────────────────────────────┐   │
│ └──────────────────────────────────────────────┘   │
│ 行 12, 列 4  │  python  │  /www/.../main.py          │
└────────────────────────────────────────────────────┘
```

最小化：仅显示底部标签条，点击恢复。最大化：`position: fixed` 铺满视口，文件表隐藏。

## v2 补齐（2026-06-01）

- 左侧目录树懒加载（`browse` 子目录）
- 新建空文件、压缩/解压、排序、扩展名筛选
- 右键：复制路径、终端、压缩、解压
- 快捷键 F5 / F2 / Delete / Backspace / Ctrl+A

## 验收

- [x] 打开编辑器后仍能看到文件列表并切换目录
- [x] 同时打开 2+ 文件，标签切换内容正确
- [x] 状态栏行列随光标更新
- [x] 最大化/最小化/关闭面板行为符合预期
- [x] 未保存关闭单标签或整面板有确认
- [x] 目录树、新建文件、压缩解压、排序筛选、快捷键
