先确定真实方言
左右共用一个格式选项。Properties 中带点的名字仍是一个平面键;INI 中的节则是容器。切换格式不会改写输入,可通过“示例”预览该格式的一对有效配置。
部署前的配置审阅
选择两份配置共同的格式,再决定差异报告可以显示哪些内容。
两份内容均在当前浏览器处理,不上传输入。
输入原文仍可见。未勾选隐藏时,路径也会显示;隐藏路径还会强制遮挡整个对象或数组值,即使关闭值遮挡。
忽略键序和注释,数组按位置比较。TOML 整数与浮点区分类型;浮点按 binary64 比较,包含舍入及下溢为零的情况。
每侧最多 500,000 字符、2 MB UTF-8、50,000 节点及 100 层;最多 5,000 项差异、400 万报告字符,工作线程限时 5 秒。
输入配置,或手动执行一次对比。
配置文件对比适合上线前核对两份设置:同一个端口移到文件末尾不应算新增,删掉的开关却不能因为空值而漏看。按解析后的节、键和数组位置检查,能把这些情况分开。
这里统一提供 TOML 对比、INI 对比和 Properties 对比。配置差异是否有意义取决于实际方言;左右两边必须选择同一种格式,工具不会猜测扩展名,也不会先做隐式格式转换。
这些选项决定报告应当如何解读
左右共用一个格式选项。Properties 中带点的名字仍是一个平面键;INI 中的节则是容器。切换格式不会改写输入,可通过“示例”预览该格式的一对有效配置。
新增和删除都以“修改前 → 修改后”为方向。交换左右先展示替换预览;遮挡值只改变报告显示,不改变真实比较。隐藏路径还会遮挡容器内容,避免子键从值中泄露。
自动模式在编辑停止 350 毫秒后执行,关闭后可用按钮或 Ctrl/Cmd+Enter。编辑会立即禁用过期报告的复制与下载;替换后的一次撤销会同时恢复输入及对应报告。
缺失、空值与类型不能混为一谈
表使用区分大小写的准确键名匹配,忽略写入顺序。数组按下标对应,插入一项可能使后续多个位置改变。缺失键、空字符串、空表和空数组分别保留。
TOML 有符号 64 位整数不会经过浮点转换,超过 JavaScript 安全整数范围的位数也能保留。整数 1 与浮点 1.0 属于类型变化,-0.0 与 0.0 也会区分。
每项注明新增、删除或修改,以及前后值的类型。未遮挡的值表示在 JSON 中以字符串保存,避免消费者再次舍入整数。单边增删整个容器计为一项,报告不是修改补丁。
遮挡的是完整结果值,不只是名称看起来敏感的字段。隐藏路径时,对象和数组也整体遮挡,防止内部子键暴露;标量值仍遵循值遮挡开关。
判断配置等价之前,请核对这些边界
部署审阅中容易混淆的情况
配置文件对比把仅在修改前存在的键记为删除,仅在修改后存在的键记为新增。空字符串仍是一个存在的值,不会被当作缺失。交换左右会反转新增与删除方向。
不会。比较基于解析后的结构,注释始终不参与。如果只改注释或重排表的键,结果不会出现差异条目。本页不适合审阅注释措辞和源码排版。
TOML 支持子集中的字符串、布尔值、整数、有限浮点、数组和表会保留类型。1 与 1.0 不同;日期及非有限浮点会明确报错。INI 和 Properties 的值按各自方言解析后都是字符串。
键名区分大小写,不会将 Port 和 port 合并。语法分隔空白按方言处理,例如 INI 会修剪键值两端空白;字符串里的有效空白仍参与比较。这里没有一键忽略大小写或所有空格的模式。
可以在左右面板各选择一个 UTF-8 文件。覆盖前先查看预览并应用,之后可撤销一次。文件扩展名不会自动决定格式,需要自行选择两份文件共同的格式;不支持目录批量比较。
遇到了其他配置场景?