Eclipse变量名自动补全问题解决记录
-
博客分类:
- java
</div>
不知道大家在使用eclipse输入变量名的时候,有没有遇到过自动补全变量名的问题,前提,设置了Content Assist,如下:
我每次都是自己删除补全的变量名的。今天有时间就搜了下怎么取消eclipse的自动补全变量名功能,参考了博客http://www.cnblogs.com/whunick/p/3632412.html。
思路:eclipse自动补全变量名使用了plugin org.eclipse.jface.text。找到实际完成此功能的类CompletionProposalPopup,修改后替换plugin。
步骤:
(一)在Eclipse打开Window菜单–>show view –>Others –>Plug-in Development –>Plug-ins。
如下所示:
(二)在plug-ins视图下找到org.eclipse.jface.text,右键import as Source Project ,如下所示。
结果为:
我的eclipse没有带源码,那怎么修改类呢,这时候就要去下载插件的源码了,当然如果你的eclipse带源码那个太好了,那下面的操作可以参照http://www.cnblogs.com/whunick/p/3632412.html说的进行,不需要往下看了。
如何下载插件的源码呢,可以借助一个插件来完成,插件名字叫org.freejava.javasourceattacher_1.2.1,可以从http://svn.codespot.com/a/eclipselabs.org/free-plugins/trunk/site/plugin…下载,具体介绍可以参考源链接:http://www.javaworld.com/article/2075958/open-source-tools/open-source-eclipse-plugin-for-download-library-source-code-automatically.html。
官方介绍:
下载后把插件放到eclipse的dropins目录,重启eclipse,在刚才的项目org.eclipse.jface.text下的org.eclipse.jface.text_3.7.0.v20110505-0800.jar右键,选择Attach Java Source,插件自动下载。下载的目录在C:\Documents and Settings\Administrator\.sourceattacher\下面,可以从eclipse的Error Log看到。
找到源码位置,解压,在eclipse新建一个Java项目,把org文件夹复制到项目的src下面,其他文件夹复制到src父文件夹下面,打开org.eclipse.jface.text_3.7.0.v20110505-0800.jar把用META-INF下的文件覆盖项目的META-INF文件夹。
在项目右击,选择build path–>configure build path,在libraries下面点击add library,选择plug-in dependencies,点击finish。如下所示:
(三)找到CompletionProposalPopup类,路径src/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java,找到这样一行代码
- char[] triggers = t.getTriggerCharacter();
- if(contains(triggers,key))
char[] triggers = t.getTriggerCharacter();
if(contains(triggers,key))
if 里判断你按下的键(key)是否在triggers 中,如果是,就触发第一行提示的
代码。于是,我们只要在这里排除掉空格和=号即可,如下:
- char[] triggers= t.getTriggerCharacters();
- if ((key != ‘=’) &&(key != 0x20)&&contains(triggers, key))
char[] triggers= t.getTriggerCharacters();
if ((key != '=') &&(key != 0x20)&&contains(triggers, key))
修改成这样,空格和等号就不会触发自动补全了。
如下所示:
(四)保存后导出,替换org.eclipse.jface.text_3.7.0.v20110505-0800.jar里面的
CompletionProposalPopup类,导出是普通的Export–>Jar File
然后使用压缩软件打开org.eclipse.jface.text_3.7.0.v20110505-0800.jar把新生成的CompletionProposalPopup类替换掉老的class,注意把CompletionProposalPopup$.*.class之类的也替换掉,保存后,替换掉eclipse的plugins下面的org.eclipse.jface.text_3.7.0.v20110505-0800.jar,替换之前注意备份org.eclipse.jface.text_3.7.0.v20110505-0800.jar。
重启Eclipse,大功告成,现在按=就可以了,再也不要自己去删掉补全的部分了。
本文系原创,转载请注明出处,谢谢。