PTT/CONFIG_EDITOR_GUIDE.md

5.1 KiB

配置文件编辑器功能说明

功能概述

配置文件编辑器是一个专业的 JSON 配置管理工具,支持对项目配置文件的可视化编辑、验证和保存。

主要特性

1. 树形结构编辑

  • 分层显示: 使用树形结构清晰展示 JSON 的嵌套关系
  • 节点展开/折叠: 可自由展开或折叠节点以查看/隐藏配置项
  • 路径追踪: 每个配置项都记录其完整路径

2. 智能编辑器

  • 类型感知: 根据值的类型自动选择合适的编辑控件

    • bool 类型: 复选框
    • int 类型: 整数输入框,范围 -2147483648 到 2147483647
    • float 类型: 浮点数输入框,精度 6 位小数
    • str 类型: 文本输入框
  • 实时编辑: 在表格中直接编辑配置值

3. 数据验证

  • JSON 格式验证: 保存前自动验证 JSON 格式的有效性
  • 类型检查: 确保编辑的值类型正确

4. 文件管理

  • 自动备份: 保存时自动创建 .bak 备份文件
  • 修改跟踪: 实时跟踪配置是否被修改
  • 重新加载: 支持放弃修改并重新加载原文件

使用方法

方式一:通过主窗口菜单

  1. 打开采集箱出厂测试工具
  2. 点击菜单栏 "工具" → "编辑配置文件"
  3. 在文件选择对话框中选择要编辑的配置文件
  4. 编辑完成后点击 "保存"

方式二:直接运行编辑器

# 编辑主配置文件
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                // 排序顺序
        }
    ]
}

常见操作

修改串口波特率

  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 - 测试项配置