文本差异对比
文本差异对比
👉 打开对比工具 →
功能
| 功能 | 说明 |
|---|---|
| 逐行 diff | 左右两栏粘贴,点「开始对比」出结果 |
| 三色高亮 | 🟢 绿色 = 新文本多出来的行;🔴 红色 = 旧文本有、新文本删掉的行;无底色 = 两边一样 |
| 行号 | 删除行带左侧行号,方便回原文定位 |
| 统计 | 一共多少行、新增几行、删除几行、相同几行 |
| 交换 / 清空 / 示例 | 一键互换两边、全部清空、载入一份演示数据试试 |
怎么用
- 左栏贴旧版本(比如改之前的配置、旧代码)
- 右栏贴新版本(改之后的)
- 点「开始对比」
- 从统计行看改动规模,绿色区域就是你要 review 的新增内容
小知识:diff 是怎么算出来的
用的经典算法 LCS(最长公共子序列):
- 把两段文本按行拆成两个数组
- 填一张表:
dp[i][j]= 旧文本前 i 行和新文本前 j 行的最长公共行数 - 从后往前回溯:相同的行一起走,不同的行挑「能让公共部分更长」的方向标成删除或新增
时间复杂度 O(n×m),所以单边限制 3000 行——再大表格会把浏览器卡死,拆开比就好。
注意
- 比较是逐行的:同一行里改了一个字,会显示成「删掉旧行 + 新增新行」两条,不会字级高亮
- 空行也算一行,末尾多一个换行也会体现出来
- 全部计算在你自己的浏览器里完成,文本不会上传
jhp.studio