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

1.1 KiB

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.vueeditorSessionKey 强制按路径重建编辑器
  • server/api/sync_v2.pywrite-file 改为 SFTP 写入

迁移 / 重启

  • 前端构建部署 web/app/
  • 后端需 supervisorctl restart nexus

验证方式

  1. 双击 .php / .js 文件,编辑器有语法高亮、可编辑
  2. 修改后 Ctrl+S 保存,刷新目录内容已更新
  3. 连续打开两个不同文件,内容互不串台
  4. 关闭时未保存会提示确认