我一直在使用eclipse进行java android开发6个月,我喜欢比较编辑器。在过去的几天里,我一直在被黑客攻击,我想我已经把我所有的git ducks连续,或者足够接近,以至于东西干净整洁,我可以找到旧版本的应用程序。
但似乎在最后一两天,日食比较编辑器已停止显示差异!我右键单击未提交的PlayThread.java并选择与Commit ...或HEAD或branch或任何东西进行比较,无论文件有多么相似,比较编辑器在其右侧显示一个大白条,然后单击以转到下一个区别突出显示整个文件!
我查看了git并比较了eclipse的首选项,找不到任何可能有用的内容。
任何让我漂亮的比较编辑器再次为我工作的帮助将不胜感激!
答案 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比较工具未突出显示差异而是整个块,好像整个文件已更改一样。
让我们首先了解这个问题,因为我知道这与CRLF
和LF
eol有关,所以先检查一下并启用可见性:
在上面,点击配置可见性。
现在,如您在上图中突出显示的那样,选中 Trailing (跟踪)下的复选框,并同时选中Carrier Return (CR)
和Line Feed (LF)
。
应用-保存并关闭。现在以我为例,文件看起来像这样:
这很明显,对我来说,我有CRLF
窗口,如eol,它进一步证实了我的身份,因为我没有将core.autocrlf
设置为true
,而到default则是{ {1}}因此false
实际上并未尝试对我的EOL分隔符做任何事情(在这种情况下是预期的)。
直到这一阶段,比较工具才显示整个文件的更改。
现在,开始修复对我有用的
因为,我想在IDE领域中获得此修复程序,因此我首先将特定文件转换为Unix分隔符,如下所示:
然后我的文件变成了LF(Unix分隔符)eol:
并且比较工具开始突出显示增量。
所以我们认为的问题是由于Git
(窗口样式)的eol和eclipse比较器无法突出显示增量而不是整个文件。
然后,而不是将每个文件或软件包都更改为Unix分隔符。 我在Eclipse-> Preferences-> Workspace中更新了
通过这种方式,eclipse会处理新文件到CRLF
的行尾,从而使文本文件以不特定于Windows操作系统的格式保存,并且最容易在异构开发人员桌面之间共享。毕竟,这种比较工具曾经过得很愉快。
希望这会有所帮助。