工作区与项目
应用所知道的一切都存放在一个工作区里:一个由你选择的普通目录,可以备份、可以移动到其他机器。工作区中的项目描述车辆。
工作区布局
text
workspace/
├── data/
│ ├── auth/ # Seed2Key DLLs and auth helpers
│ ├── dsc/ # DID descriptions (.bmdid)
│ ├── dtc/ # global DTC databases (.json / .txt)
│ └── config.json # local workspace settings
├── logs/ # session logs (.log)
├── projects/ # one folder per project
├── scripts/ # shared Lua scripts
└── firmware/ # shared firmware images应用会创建它需要的目录。没有任何内容隐藏在数据库或云端账号中。
项目
项目是 projects/ 下的一个文件夹:
text
projects/MyProject/
├── project.bmprj # project document
├── ECU_1.bmecu # one file per ECU
├── ECU_2.bmecu
├── cover.png # optional cover image
├── notes.md # optional project notes (up to 64 KiB)
├── scripts/ # project Lua scripts (priority over workspace)
├── firmware/ # project firmware images
└── chat_history.json # project AI chat history.bmprj 文档列出 ECU 及其设置;每个 ECU 单独保存,因此同一个 ECU 定义可以在另一个项目中复用。Save As 会把 ECU 文件复制到新文件夹,因此新项目不依赖旧项目。

主窗口
- File — 新建/打开/保存项目、创建报告、加载操作按钮。
- Edit — 撤销和重做(
Ctrl+Z/Ctrl+Y)。历史深度是一个设置项(默认 20,范围 0–100),不会在两次启动之间保留。ECU 任务运行时撤销被阻止。 - Tools — ECU List、ECU Edit、UDS Tools、CAN Scanner、DoIP Setup、Lua Scripts。
- View — Project Properties、Log & Console、AI Chat、Settings(
Alt+,)、About、Btn View(调试构建)。 - 状态栏 — 连接状态和版本。
- 通知 — 右下角的 Success/Error 消息。
面板可以停靠、浮动和关闭;布局保存在 %APPDATA%\BlackMagic\imgui.ini。
数据文件
| 文件 | 用途 |
|---|---|
.bmprj | 项目:ECU 列表和项目设置(JSON,格式版本 4) |
.bmecu | 单个 ECU:传输方式、参数、例程、认证级别、DTC 模板(JSON) |
.bmdid | 在 Incubator 中加载的 DID 描述(JSON) |
.bmdump | 保存的 ECU 数值,可从 ECU List 重新加载(JSON) |
.log | 写入 logs/ 的会话日志 |
.bmprj 保存 title、本地 DTC 文件(dtcinfo)、认证库(authlib)、DoIP IP/掩码/DHCP、封面图片、项目功能和扩展参数。不带前导点的 dtcinfo 会在 <workspace>/data/dtc 中查找;带前导点的路径相对于项目文件夹。
未保存的更改
关闭项目或退出应用时若有未保存的更改,会询问 Yes(保存)、No(丢弃)或 Cancel(继续工作)。ECU 状态图标旁的圆点也表示有未保存的更改。
表格行为
在 ECU List 中,单击选择一个 ECU,双击在 ECU Edit 中打开并读取其参数,右键打开 ECU 上下文菜单。右键单击 Unit 列标题会打开 Fill from。列可以排序、重排、隐藏和调整宽度。

