Files
Nexus/docs/changelog/2026-06-01-files-monaco-editor-fix.md
T
2026-07-08 22:31:31 +08:00

29 lines
1.1 KiB
Markdown

# 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. 关闭时未保存会提示确认