当将Eclipse中代码提示设置为所有字母提示后,会发现Eclipse存在一个反人类的设计,正常操作都是按tab或者回车输入提示代码,Eclipse偏偏按空格,提示代码会上屏。有时候输完了一个类名,想输入一个空格,它却将提示代码输入,不得不停顿下来将上屏内容删除。那有什么办法可以修改这个设置呢?很遗憾,Eclipse中并没有内置该修改功能,只能通过修改源码实现这个功能。
可以修改Eclipse源码中的CompletionProposalPopup.java文件进行修改,在Plug-ins中找到org.eclipse.jface.text,点击右键,选择Import As–>Source Project,这时eclipse就会把该项目导入到你的workspace中了。展开该项目,在src目录中选择org.eclipse.jface.text.contentassist.CompletionProposalPopup.java文件。但实际的情况是,按照这个操作后,最后发现在该项目中并没有src这个目录。
接下来将介绍该问题的解决方案
首先,如果你的Ecplise不是SDK版本,那么必定会出现上述问题,无法找到src目录,根本问题就是在非SDK版本的Eclipse的jar包中存放的是class文件,并没有源文件,所以也就无法找到src源程序目录。出现这个情况,请在Help>about eclipse查看你的ecplise版本,接着在http://archive.eclipse.org/eclipse/downloads/这个页面中下载到SDK版本的Eclipse,记得下载对应版本
点击左侧版本号进入下一界面 根据自己的Eclipse版本下载下载完成后,解压该Eclipse,在.\eclipse\plugins\文件夹找到 org.eclipse.jface.text.source_3.12.2.v20180112-1341.jar(注意,这个jar包这是我的版本,你的可能将会有些许不同,但 org.eclipse.jface.text.source这串字符串不会改变),复制这个jar包,将这个jar包黏贴到你正在使用的Eclipse中。
首先得重启你正在使用的Eclipse,假设你正在使用的话。依次点击Window–>Show View–>Other…,在弹出的对话框中再选择Plug-in Development–>Plug-ins
在Plug-ins中找到org.eclipse.jface.text,点击右键,选择Import As–>Source Project:
这时候在项目管理器里将能得到org.eclipse.jface.text的项目,找到/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java文件
如图所示展开在该.java文件中,在verifyKey(VerifyEvent e)方法里(大约在1300行左右),找到这两处代码
第一处需要修改代码改为case '\t':
e.doit= false;
insertSelectedProposalWithMask(e.stateMask);
break;
第二处需要修改代码if (contains(triggers, key))改为if (key != 0x20 && key != '=' && key != ';' && contains(triggers, key))
在那行if判断里面,判断key(就是你按下的键)是否在triggers中,如果是,那就触发下面的第一行提示上屏的代码,这里要做的就是把空格和'='去掉,当然你也可以去掉其他上屏的键,如'.',这里我就只去掉空格和'='。
保存后选中项目,右键选择Export
如下图依次点击
接下来是选择一个文件夹用于存放生成的jar包
最后, 找到你选择的文件夹,里面会有个jar包,复制它,黏贴到自己使用的Eclipse的plugins目录里,它将会替换plugins目录下的一个jar包,最好先将被替换的jar包备份一份。好了,重启你的eclipse,它将不再有空格上屏的操作了。
如果感觉上述步骤太过于麻烦,可以使用Intellij IDEA,在某些方面,它比Eclipse更强大。
网友评论