PTT/CONFIG_EDITOR_GUIDE.md

191 lines
5.1 KiB
Markdown
Raw Normal View History

2026-01-24 13:43:45 +08:00
# 配置文件编辑器功能说明
## 功能概述
配置文件编辑器是一个专业的 JSON 配置管理工具,支持对项目配置文件的可视化编辑、验证和保存。
## 主要特性
### 1. 树形结构编辑
- **分层显示**: 使用树形结构清晰展示 JSON 的嵌套关系
- **节点展开/折叠**: 可自由展开或折叠节点以查看/隐藏配置项
- **路径追踪**: 每个配置项都记录其完整路径
### 2. 智能编辑器
- **类型感知**: 根据值的类型自动选择合适的编辑控件
- `bool` 类型: 复选框
- `int` 类型: 整数输入框,范围 -2147483648 到 2147483647
- `float` 类型: 浮点数输入框,精度 6 位小数
- `str` 类型: 文本输入框
- **实时编辑**: 在表格中直接编辑配置值
### 3. 数据验证
- **JSON 格式验证**: 保存前自动验证 JSON 格式的有效性
- **类型检查**: 确保编辑的值类型正确
### 4. 文件管理
- **自动备份**: 保存时自动创建 `.bak` 备份文件
- **修改跟踪**: 实时跟踪配置是否被修改
- **重新加载**: 支持放弃修改并重新加载原文件
## 使用方法
### 方式一:通过主窗口菜单
1. 打开采集箱出厂测试工具
2. 点击菜单栏 "工具" → "编辑配置文件"
3. 在文件选择对话框中选择要编辑的配置文件
4. 编辑完成后点击 "保存"
### 方式二:直接运行编辑器
```bash
# 编辑主配置文件
python edit_config.py
```
## 界面说明
### 树形表格
- **左列(键)**: 显示配置项的名称或索引
- 分支节点(蓝色粗体)表示子配置项
- 叶子节点表示实际的配置值
- **右列(值)**: 显示或编辑配置值
- 点击单元格可进行编辑
- 编辑器类型根据值类型自动选择
### 操作按钮
- **重新加载**: 放弃当前修改,从文件重新加载原配置
- **保存**: 将修改保存到文件,并创建备份
- **取消**: 关闭编辑器,放弃所有修改
## 配置文件路径
- **主配置文件**: `config/config.json`
- **测试项配置**: `config/test_items.json`
## 配置项说明
### config.json
```json
{
"application": {
"name": "应用名称",
"version": "版本号",
"company": "公司名",
"language": "语言设置"
},
"serial": {
"default_baudrate": 115200, // 串口波特率
"default_timeout": 1.0, // 超时时间(秒)
"auto_detect_ports": true, // 自动检测端口
"retry_count": 3 // 重试次数
},
"ssh": {
"default_username": "torizon", // 默认用户名
"default_port": 22, // SSH 端口
"connection_timeout": 10, // 连接超时(秒)
"keepalive_interval": 30 // 保活间隔(秒)
},
"network": {
"eth0": { ... },
"eth1": { ... }
}
}
```
### test_items.json
```json
{
"test_items": [
{
"id": 1,
"name": "测试项名称",
"description": "测试项描述",
"category": "测试类别",
"command": "执行命令",
"timeout": 30, // 超时时间(秒)
"is_required": true, // 是否必需
"sort_order": 1 // 排序顺序
}
]
}
```
## 常见操作
### 修改串口波特率
1. 选择 "工具" → "编辑配置文件"
2. 选择 `config/config.json`
3. 展开 "serial" 节点
4. 在 "default_baudrate" 行输入新值
5. 点击 "保存"
### 添加或修改测试项
1. 选择 "工具" → "编辑配置文件"
2. 选择 `config/test_items.json`
3. 展开 "test_items" 节点
4. 修改现有项的值
5. 点击 "保存"
## 注意事项
⚠️ **重要**:
1. **备份文件**: 修改前会自动创建 `.bak` 备份文件,修改出错可从备份恢复
2. **JSON 格式**: 确保编辑后的配置仍符合 JSON 格式,否则无法保存
3. **重启应用**: 某些配置修改可能需要重启应用才能生效
4. **权限**: 确保对配置文件有读写权限
5. **类型匹配**: 修改值时注意保持原有的数据类型
## 快捷键
- `Ctrl+,` - 打开配置编辑器
## 故障排除
### 无法打开编辑器
- 确保配置文件存在且格式正确
- 检查文件权限
### 修改无法保存
- 检查 JSON 格式是否正确
- 查看控制台错误日志
- 尝试重新加载后重新修改
### 修改后配置未生效
- 检查是否正确选择并保存了配置文件
- 重启应用程序
- 查看配置项名称是否与代码中的引用匹配
## 技术细节
### 类型检测
编辑器自动检测并转换数据类型:
- Python `bool` ↔ JSON `true/false`
- Python `int` ↔ JSON `number` (整数)
- Python `float` ↔ JSON `number` (浮点数)
- Python `str` ↔ JSON `string`
### 备份机制
保存配置时:
1. 读取原文件内容
2. 将原内容保存到 `filename.json.bak`
3. 将新配置写入原文件
4. 如果写入失败,用备份文件恢复
## 相关文件
- `src/ui/config_editor.py` - 编辑器实现
- `config/config.json` - 主配置文件
- `config/test_items.json` - 测试项配置