MapEdit Code Sync
MapEdit 代码同步插件,将 MapEdit 引擎的 .mapedit 文件渲染为 VSCode Notebook,实现区域化代码编辑与双向同步。
核心功能
- Notebook 渲染:将 JSON 代码文件渲染为 VSCode Notebook,支持区域化编辑
- 三种类型:PropertyEvent(事件处理)、PropertySet(属性设置)、TableScript(表脚本)
- 中文标签:区域标签支持中文显示(鼠标事件、键盘事件、属性设置等)
- 头部标识:Notebook 顶部显示脚本名称,清晰标识当前编辑对象
- 双向同步:保存时自动回写 MapEdit,支持同步记录追踪
支持的文件类型
| 类型 |
扩展名 |
区域列表 |
| PropertyEvent |
.mapedit |
鼠标事件、键盘事件、行为事件、自定义事件 |
| PropertySet |
.mapedit |
属性设置、数据接收、自定义、接口 |
| TableScript |
.mapedit |
脚本 |
快速开始
- 在 MapEdit 中打开 MapEdit,选择"在 VSCode 中编辑"
- VSCode 自动打开 .mapedit 文件,渲染为 Notebook
- 编辑代码区域,保存后自动同步回 MapEdit
架构设计
- 双层序列化:外层 NotebookCore 对接 VSCode,内层 SerializerFactory 处理业务序列化
- 分层基类:BaseNotebookSerializer → PropertyTextSerializer / PlainTextSerializer
- 自注册模式:各序列化器模块加载时自动注册到工厂
- 头部统一注入:name 字段从 SyncInfo 读取,统一在 notebookCore 中注入
配置项
| 配置项 |
类型 |
默认值 |
说明 |
mapedit.autoSyncOnSave |
boolean |
true |
保存时自动同步到 MapEdit |
命令
MapEdit: Open Sync Folder — 打开同步文件夹
MapEdit: Manual Sync to MapEdit — 手动同步到 MapEdit
MapEdit: Open Sync File — 打开同步文件
MapEdit: Do Command — 执行命令
技术栈
- TypeScript 5.x
- VSCode Extension API 1.74+
- 纯文件通道同步(无网络依赖)
版本历史
0.1.0
- 初始版本
- 支持 PropertyEvent、PropertySet、TableScript 三种类型
- 实现 Notebook 渲染与双向同步
- 支持中文区域标签
| |