【问题标题】:Diff-Tool that can autoformat source code before comparing?可以在比较之前自动格式化源代码的 Diff-Tool?
【发布时间】:2012-02-01 16:27:52
【问题描述】:

我一直在使用 WinMerge、Eclipse 的比较工具和 Tortoise 来在提交之前查看我的更改。问题是,当我编辑自我们上次更新自动格式化程序配置以来尚未被其他人编辑的文件时,我会看到由自动格式化程序引起的许多非常多的更改。 现在我必须从以前的版本中复制代码,在 Eclipse 中自动格式化并复制到 WinMerge 中才能看到我真正制作的内容。

是否有工具可以自动自动格式化我正在比较的文件的两个版本?

【问题讨论】:

  • 不是您问题的答案,但我发现将您的差异设置为“忽略空格”可以解决(至少对我而言)大部分潜在问题(重新格式化会使所有行都“更改”) .也许这有帮助?
  • 遗憾的是,忽略空格只能修复大约 10% 的“误报”。

标签: java eclipse diff autoformatting


【解决方案1】:

任何允许您在比较之前设置外部转换的差异工具都应该处理它。外部转换主要用于 Word/Excel/PDF 到文本的转换,但只要您可以从命令行运行它,您就可以做任何您想做的事情。

对于Beyond Compare,我们已经有了一个optional add-on rule,它将使用Jalopy 来格式化Java 源代码,另一个使用HTML Tidy 来处理HTML 文件。

WinMerge 看起来并不支持开箱即用的 Java 重新格式化程序,但他们的 plugins 页面确实描述了如何使用 dll 或 Windows Scripting Host scriptlet 添加一个。

【讨论】:

  • 谢谢,为 WinMerge 编写一个调用 Eclipse 命令行格式化程序的 prediff 插件似乎是完美的解决方案。
  • @Robber 你碰巧还有这个插件吗?会节省我一些时间:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-12
  • 2014-06-26
  • 2011-01-09
  • 2010-12-07
相关资源
最近更新 更多