按 ⌘K 切换工具
TEXT
文本差异检查器
比较两段文本并逐行可视化差异。
text-diff
§01 关于此工具
概述
这个工具逐行比较一段文本的两个版本,并渲染成统一差异格式:删除的行以 - 开头
并标成红色,新增的行以 + 开头并标成绿色,没有改动的行保持原样。结果上方有一个
计数器,显示新增和删除的总行数。审查配置改动、比较 SQL 导出文件,
或者确认编辑器和格式化工具动了什么,都很好用。统一差异格式的另一个好处是可以直接贴进
工单或聊天里,读的人不必再打开工具。
使用方法
- 把第一个版本粘贴到 Original。
- 把第二个版本粘贴到 Changed。
- 差异会自动出现在下方,并带一个
+N / -N的新增删除行数摘要。
示例
- Original
color: red对 Changedcolor: blue→- color: red和+ color: blue - 往
.env文件里加一行,结果只会显示+ NEW_FLAG=true,没动过的行不带任何符号列出。
说明
每一行都是精确匹配:行尾空格的差异、制表符与空格之别、换行符不同,都会被记为改动。 如果你只关心内容,请先把空白归一化。整段位置的移动会被记成一次删除加一次新增, 因为按行比较不追踪位置的变化。
LCS 比较会为每一对行建一个表格单元,所以工作量和内存是按两边长度的乘积增长, 而不是按和增长。超过四百万个单元(大约 2,000 行对 2,000 行)时,工具会直接拒绝比较 并给出提示,而不是一边尝试申请几百 MB 内存一边把标签页卡死。请改成比较更小的片段。
FAQ
我粘贴的文本会被上传吗?
不会。差异由浏览器里的一个 JavaScript LCS 算法计算,不向服务器发送任何内容,因此配置文件、日志或不能外传的代码都可以放心使用。
差异是怎么识别出来的?
工具把两侧输入按行切分,然后运行最长公共子序列(LCS)比较,与经典 diff 工具属于同一类算法。行是精确匹配的,因此行尾空白也算一处改动。
会显示行内的字符级差异吗?
不会。比较以行为单位。只要一行有任何改动,它就表现为一行删除加一行新增,而不是在行内高亮改掉的那几个字符。