eclipse比较编辑器停止显示详细的差异

时间:2012-05-05 00:09:31

标签: eclipse git editor compare

我一直在使用eclipse进行java android开发6个月,我喜欢比较编辑器。在过去的几天里,我一直在被黑客攻击,我想我已经把我所有的git ducks连续,或者足够接近,以至于东西干净整洁,我可以找到旧版本的应用程序。

但似乎在最后一两天,日食比较编辑器已停止显示差异!我右键单击未提交的PlayThread.java并选择与Commit ...或HEAD或branch或任何东西进行比较,无论文件有多么相似,比较编辑器在其右侧显示一个大白条,然后单击以转到下一个区别突出显示整个文件!

我查看了git并比较了eclipse的首选项,找不到任何可能有用的内容。

任何让我漂亮的比较编辑器再次为我工作的帮助将不胜感激!

4 个答案:

答案 0 :(得分:9)

  

比较编辑器右侧显示一个大白条,

这意味着Egit认为该文件的本地内容(在您的磁盘上)完全不同于已提交的内容 发生这种情况的一个经典案例是自动eol转换(Windows< => Unix),这就是为什么我总是将core.autocrlf设置为false
请参阅“Git beta on Windows (msysgit) - Unix or DOS line termination” 另请参阅“Distributing git configuration with the code”以通过.gitattribute文件管理这些eol(EGit doesn't support yet .gitattribute file除外)。


在这种情况下,OP mwengler报告:

  

那就是它。
  我修复它的方式是在 Eclipse > Window > Preferences > General > Compare/Patch > General 页面上我检查了“ Ignore white space ”,现在编辑器显示了我的差异。
  但我想我会关掉那些autocrlf的东西,我不认为我在窗户上使用任何无法处理这两种口味的东西

请参阅Egit bug 361503,其中提到此“忽略空白区域”现在也尊重core.autocrlf设置。

答案 1 :(得分:8)

对于没有显示任何内容的Javascript compair,存在一个已知错误。

https://bugs.eclipse.org/bugs/show_bug.cgi?id=509820

...解决方法

  
      
  • 窗口>>偏好设置>>常规标签>>比较/补丁
  •   
  • 取消选中“自动打开结构比较”旁边的复选框
  •   

答案 2 :(得分:1)

以下设置也适用于Eclipse Oxygen Release。

这似乎与结构化比较有关。到

使用比较简单且显然有效的版本选择:

  
      
  • 窗口>偏好> “一般标签”>比较/补丁
  •   
  • 取消选中&#34旁边的复选框;自动打开结构比较"
  •   

享受ES6课程的文本级差异。

此致 Rasool Javeed Mohammad javeed.mca@gmail.com

答案 3 :(得分:1)

今天,不久之后,我又陷入了这个问题。每次我解决此问题并继续前进时,但是这次我尝试理解根本原因并予以解决,并且由于对我有用的修复程序不在this问题的答案中,因此添加了带有详细信息的部分:

我在eclipse中使用EGit插件,问题与OP相同-eclipse比较工具未突出显示差异而是整个块,好像整个文件已更改一样。

让我们首先了解这个问题,因为我知道这与CRLFLF eol有关,所以先检查一下并启用可见性:

  

Eclipse->首选项->文本编辑器->显示空白字符   enter image description here

在上面,点击配置可见性

enter image description here

现在,如您在上图中突出显示的那样,选中 Trailing (跟踪)下的复选框,并同时选中Carrier Return (CR)Line Feed (LF)

应用-保存并关闭。现在以我为例,文件看起来像这样:

enter image description here

这很明显,对我来说,我有CRLF窗口,如eol,它进一步证实了我的身份,因为我没有将core.autocrlf设置为true,而到default则是{ {1}}因此false实际上并未尝试对我的EOL分隔符做任何事情(在这种情况下是预期的)。

直到这一阶段,比较工具才显示整个文件的更改。

现在,开始修复对我有用的

因为,我想在IDE领域中获得此修复程序,因此我首先将特定文件转换为Unix分隔符,如下所示: enter image description here

然后我的文件变成了LF(Unix分隔符)eol:

enter image description here

并且比较工具开始突出显示增量。

enter image description here

所以我们认为的问题是由于Git(窗口样式)的eol和eclipse比较器无法突出显示增量而不是整个文件。

然后,而不是将每个文件或软件包都更改为Unix分隔符。 我在Eclipse-> Preferences-> Workspace中更新了 enter image description here

通过这种方式,eclipse会处理新文件到CRLF的行尾,从而使文本文件以不特定于Windows操作系统的格式保存,并且最容易在异构开发人员桌面之间共享。毕竟,这种比较工具曾经过得很愉快。

希望这会有所帮助。