MooTool

Handy tool set for developers

View on GitHub

格式化工作区与边界

参照 Electron 的 next/src/features/reformat/ReformatTool.tsxreformatTools.ts。原生版保留页标题、文本 / 文件标签、类型与 2–6 空格缩进、格式化、历史、复制、导出和清空操作;工作区主文案支持 zh-CN / en-US / ja-JP(general.language)。文件模式为原文与结果双栏,并允许编辑导入后的原文。940px 窗口仍显示两个可调整宽度的编辑区。应用外观、系统文件面板、撤销和快捷键沿用 macOS 习惯。

文本模式在当前编辑器中格式化,可用 ⌘⇧F 或按钮;更改类型时,仅在内容为空或仍为上一类型示例时切换示例,不覆盖用户编辑。格式化通过独立辅助程序运行;出错、超时、切换工作区或在运行中修改输入时,不会用过期结果覆盖正文。成功的修改进入系统撤销/重做栈,并将原文、结果、类型、模式和缩进写入本产品历史。恢复文本历史时使用格式化结果,与 Electron 一致。

文件模式读取用户选择的 UTF-8 文本文件,存成当前原生工作区内的内容副本;格式化只更新右侧结果,不改原始磁盘文件或左侧文本。修改左侧内容会清除旧结果。复制与导出取当前模式内容,文件结果导出为新文件,Nginx 使用 .conf 后缀。文件名、原文、结果、光标与滚动位置随本产品工作区、历史和备份恢复。旧原生版的 JSON / XML 草稿和历史仍能读取;JSON 留在类型列表只为兼容旧数据,Electron 格式化页的主要类型为 Nginx、Java、XML、HTML。

Nginx 使用与 Electron 对应的分词/缩进规则;Java、XML、HTML 使用本产品内嵌的 Prettier 与独立插件,不在运行时加载 Electron 或 Node.js。源文件、依赖锁定与许可证位于本产品的 vendor/formatters/,打包后的解析器和许可证在原生 Core 资源中。输入限 2 MB UTF-8,格式化结果限 16 MB,解析器 2.8 秒超时;历史快照沿用全局 256 KB 限制,大文本仍保留在工作区草稿。无文件监听、Finder 定位或原文件回写。原生编辑器提供语法着色,但尚未覆盖 Monaco 全部编辑装饰;JavaScript、SQL 也不是 Electron 格式化页的类型。

check-core.sh 覆盖五种解析器、独立辅助程序、文件大小/编码及旧历史迁移;smoke.sh --window-capture --format-only 通过实际按钮与编辑器检查结果、撤销/重做、文件原文保留、历史、双主题与窄窗口,并启动新进程检查恢复。完整打包后,verify-package.py 从仓库外的独立应用副本调用四种解析器,验证无跨产品运行依赖。