TeXStudio 似乎有一个内置的 DIFF 功能。例如,可以在选项对话框中定义用于差异的语法突出显示。
但是如果我有两个文件需要比较,比如 article.tex 和 article_old.tex,我该如何启动 DIFF 模式?
我发现的唯一方法是打开 article.tex,然后使用“文件 -> SVN...”下的“显示两个文件之间的差异”项,然后选择“article_old.tex”。但是这样做的行为非常奇怪,例如,它只突出显示 article.tex 中存在而 article_old.tex 中不存在的内容,而反之则不然。(这似乎是因为只突出显示当前打开的文件中包含的行,而当其他文件中存在更多行时,它们无法在当前打开的文件中突出显示,因为它们不在那里。)
“显示两个文件之间的差异(相对于原始文件)”选项的行为甚至更加难以理解。
我无法在线找到有关 DIFF 功能的任何文档,因此我在这里问:我需要做什么才能获得两个文件之间的“正常”DIFF,正如人们所期望的那样?
答案1
我发现 DIFF 功能的工作方式与 OP 描述的方式不同;我的工作方式确实合理。在我写这篇文章时,原始问题才提出 3 个月,但也许该功能在这段时间内已被添加或修复?
更新(1天后):
它确实似乎直观地显示了两个文档之间的差异,但在启用 DIFF 功能的情况下,即使是简单的编辑尝试也会导致各个地方的文本意外丢失。也许这就是不支持该功能的含义。
我使用的是 TeXstudio 2.11.2。我的 Diff 语法高亮方案是默认方案:diffDelete 为粉红色背景,并勾选删除线选项;diffAdd 为绿色背景;diffReplace 为黄色背景。我还没有安装 SlickSVN 或类似的东西。我只是默认安装了 TeXstudio。
当我打开一个文件并选择“显示两个文件之间的差异”时,TeXstudio 似乎会将已打开的文件为旧文件。因此,我将使用 OP 的示例,但切换文件
当前打开的文件是“article_old.tex”,在“文件 -> SVN -> 显示两个文件之间的差异”下,我选择“article.tex”。我在打开的文档(article_old.tex)中看到的是:
此处存在但不在“article.tex”中的文本以粉红色背景和删除线文本显示
“article_old.tex”中没有但“article.tex”中存在的文本现在在此处以绿色背景显示
一些文本有黄色背景,我还没有完全弄清楚;也许两个文档之间的文本大致相似但不完全相同。