⌘K 切换工具
TEXT

文本差异检查器

比较两段文本并逐行可视化差异。

local
text-diff
§01 关于此工具

概述

这个工具逐行比较一段文本的两个版本,并渲染成统一差异格式:删除的行以 - 开头 并标成红色,新增的行以 + 开头并标成绿色,没有改动的行保持原样。结果上方有一个 计数器,显示新增和删除的总行数。审查配置改动、比较 SQL 导出文件, 或者确认编辑器和格式化工具动了什么,都很好用。统一差异格式的另一个好处是可以直接贴进 工单或聊天里,读的人不必再打开工具。

使用方法

  1. 把第一个版本粘贴到 Original
  2. 把第二个版本粘贴到 Changed
  3. 差异会自动出现在下方,并带一个 +N / -N 的新增删除行数摘要。

示例

  • Original color: red 对 Changed color: blue- color: red+ color: blue
  • .env 文件里加一行,结果只会显示 + NEW_FLAG=true,没动过的行不带任何符号列出。

说明

每一行都是精确匹配:行尾空格的差异、制表符与空格之别、换行符不同,都会被记为改动。 如果你只关心内容,请先把空白归一化。整段位置的移动会被记成一次删除加一次新增, 因为按行比较不追踪位置的变化。

LCS 比较会为每一对行建一个表格单元,所以工作量和内存是按两边长度的乘积增长, 而不是按和增长。超过四百万个单元(大约 2,000 行对 2,000 行)时,工具会直接拒绝比较 并给出提示,而不是一边尝试申请几百 MB 内存一边把标签页卡死。请改成比较更小的片段。

FAQ
我粘贴的文本会被上传吗?
不会。差异由浏览器里的一个 JavaScript LCS 算法计算,不向服务器发送任何内容,因此配置文件、日志或不能外传的代码都可以放心使用。
差异是怎么识别出来的?
工具把两侧输入按行切分,然后运行最长公共子序列(LCS)比较,与经典 diff 工具属于同一类算法。行是精确匹配的,因此行尾空白也算一处改动。
会显示行内的字符级差异吗?
不会。比较以行为单位。只要一行有任何改动,它就表现为一行删除加一行新增,而不是在行内高亮改掉的那几个字符。