要点
- 01三种diff模式——行、词和字符——让您选择适合您内容的粒度级别。
- 02忽略大小写和忽略空白开关筛选掉格式化噪声,因此您只看到有意义的更改。
- 03结果输出为带有+/-前缀的可复制统一diff,准备好用于代码审查或错误报告。
- 04所有差异计算在客户端使用最长公共子序列算法进行——没有内容离开页面。
何时您需要Diff查看器
源代码控制向您显示文件随时间的更改方式,但有时您需要比较两个从未接触版本库的任意文本块:两个API响应、快速复制编辑的前/后、来自两个环境的配置文件,或合同条款的两个版本。将两者粘贴到diff查看器中比git stash快得多,并且易于阅读。
Handytool的diff查看器在客户端使用最长公共子序列算法,因此对于典型输入,比较是即时的。它同样适用于代码、JSON、markdown和纯散文——因为没有任何内容离开浏览器,您可以安全地粘贴内部或机密内容。
如何比较两个文本
- 01
将原始文本粘贴到左面板
这是您的基线——较旧的版本、源文件或任何您从中比较的内容。
- 02
将修改后的文本粘贴到右面板
添加较新的版本、编辑的副本或您想比较的目标。
- 03
选择一个diff模式
选择行(最适合代码和配置)、词(最适合散文编辑)或字符(最适合捕捉错别字和标点符号更改)。
- 04
如果需要,切换忽略大小写或忽略空白
这些筛选器隐藏不影响含义的更改——在比较重新格式化的JSON或轻微重新措辞的副本时很有用。
- 05
复制统一差异
使用复制按钮获取带有+/-前缀的输出,并将其粘贴到代码审查评论、工单或更改日志中。
对机密内容安全
diff完全在您的浏览器中运行。没有文本在任何时点发送到Handytool的服务器——不是粘贴时、不是切换模式时、不是复制结果时。这意味着您可以安全地比较专有源代码、内部文档、法律草案或任何其他敏感内容。
对于非常大的输入——数万行——LCS算法会变慢,因为其复杂性随两个输入大小增长。如果您遇到这种情况,启用忽略空白来减少标记计数,或切换到行模式,这是三种模式中最快的。
Diff查看器常见问题
此diff查看器会将我的文本发送到服务器吗?
不会。diff使用JavaScript完全在您的浏览器中计算。对专有代码、内部文档和机密内容安全。
行、词和字符diff之间有什么区别?
行diff将每行视为单位——非常适合代码。词diff在空白上分割——非常适合散文编辑。字符diff是最细粒度的,表面单个字母错别字或标点符号更改。
为什么有些行标记为既添加又删除?
当行在中间更改时,算法将其表示为删除的旧行加上添加的新行。切换到词或字符模式以查看行内确切更改的内容。
输入可以有多大?
大多数日常代码和散文比较是即时的。非常大的输入由于LCS算法随两个输入大小增长而变慢。对于巨大文件,首选行模式并启用忽略空白以保持速度。
我能比较不同编程语言的代码吗?
可以——diff查看器是与语言无关的。它比较原始文本,因此对JavaScript、Python、JSON、YAML或纯散文同样有效。