忽略换行符的差异比较工具

25
我经常需要比较SQL存储过程以确定最新版本中发生了什么变化。但问题在于,每个人都有自己的格式风格,而SQL(通常)不关心换行符的位置(例如,在每个AND之前换行或在一行上编写WHERE子句)。
这使得查看实际区别变得非常困难(尤其是对于长存储过程)。我似乎找不到一个允许我忽略换行符(即将其视为空格)的免费diff/merge工具。到目前为止,我已经尝试了WinMerge和Beyond Compare,但没有成功。是否有人知道一个可以把这两个示例视为相同的diff工具(最好是免费的)?
例1:
the quick
brown

例2:

the
quick
brown

提前感谢。


没有免费的实用工具回答这个问题。如果有人为一个免费的实用工具提供了答案,我会给予奖励。 - Greg
2
我接受的答案提供了一个免费的实用工具。ApexSQL Refactor与他们的一堆试用软件捆绑在一起,但您可以选择仅安装该项。它非常好地集成到SQL Server Management Studio中,并且通过按Ctrl-shift-R修复整个查询或仅选定的文本。除了使比较变得非常简单外,它还具有标准化查询格式的额外奖励。此外,它非常可定制化。 - Prometheus
也许使用一些设置,meld可以完成这个任务? - Jonathan
我在这里提问并回答了这个问题:https://softwarerecs.stackexchange.com/questions/80584 简而言之,IntelliJ IDEA具有此功能。 - David Balažic
12个回答

-1
你尝试过KDiff吗?我确定你可以用它忽略空格,如果它对你来说不够强大,它还允许你在文件上运行预处理器。最重要的是,它是免费的并且开源的。

1
问题在于大多数应用程序(包括我使用的KDiff)无法可靠地将换行符视为空格。 - Prometheus
因此预处理器可以智能地将换行符替换为其他内容。 - Chris Pfohl

-2
如果你使用的是Windows系统,WinMerge 是一个非常不错的选择。在Linux(或者可能是OS X)下,有 Meld
两者都是免费的,并且功能也很强大。虽然不像Araxis那么酷,但我们也不希望你流口水。
两者都是通用的diff工具,具有忽略空格等功能。我不能确定它们是否会忽略空行,但很有可能会。

2
WinMerge可以忽略空白行,但是WinMerge不会将换行符(即在不同位置的换行符)视为空格。 - Prometheus
@Prometheus,我有什么遗漏吗?或者说,为什么那个细节很重要? - Pacerier
1
看问题。题目。这就是为什么。 - David Balažic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接