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