# 2026-06-01 文件编辑器 Monaco 适配修复 ## 日期 2026-06-01 ## 变更摘要 修复文件管理页 Monaco 全屏编辑器空白/高亮失效、切换文件内容不刷新、保存失败等问题。 ## 动机 - Vite 打包未配置 `MonacoEnvironment` Worker → 语法高亮与语言服务异常 - 仅监听 `visible`,打开另一文件时仍显示旧内容 - 后端 `write-file` 使用 `echo|base64` 受命令行长度限制,大文件或保存易失败 ## 涉及文件 - `frontend/src/monaco/setupMonacoEnv.ts` — Vite Worker 配置(新建) - `frontend/src/components/MonacoEditor.vue` — 布局、换行归一化、Esc/Ctrl+S、ResizeObserver - `frontend/src/pages/FilesPage.vue` — `editorSessionKey` 强制按路径重建编辑器 - `server/api/sync_v2.py` — `write-file` 改为 SFTP 写入 ## 迁移 / 重启 - 前端构建部署 `web/app/` - 后端需 `supervisorctl restart nexus` ## 验证方式 1. 双击 `.php` / `.js` 文件,编辑器有语法高亮、可编辑 2. 修改后 Ctrl+S 保存,刷新目录内容已更新 3. 连续打开两个不同文件,内容互不串台 4. 关闭时未保存会提示确认