eclipse代码自动提示配置详解
工欲善其事,必先利其器,在我们用eclipse写java程序时,好的智能代码提示必将事半功倍。下面我就分享一下我根据网上各种配置方法并加上自己的摸索总结一个完整的配置步骤。
一、基本代码自动提示配置
eclipse代码里面的代码提示功能默认是关闭的,只有输入“.”的时候才会提示功能。下面说一下如何修改eclipse配置,开启代码自动提示功能打开 Eclipse -> Window -> Perferences -> Java -> Editor -> Content Assist,在右边最下面一栏找到 auto-Activation ,下面有三个选项,找到第二个“Auto activation triggers for Java:”选项在其后的文本框中会看到一个“.”存在。
在编写代码时敲出几个字符的情况下就迅速地完成代码,那是一件很爽的事。可是默认情况下,eclipse只有在你打出’.’(点字符)的时候,才会弹出自动补全窗口给你选择。这在大部分时候是完全不够用的。
那么如何配置eclipse的代码自动提示功能呢?
1、Window ——> Preferences ——> Java ——> Editor ——> Content Assist
1)、将图中复选框勾上
2)、将自动补全延迟的时间[auto activation delay(ms)]默认是200ms, 可以将时间缩短一些,比如我设置2ms.
3)、[auto activation triggers for java]自动补全触发器,默认是”.”, 这个位置可以设置成26个字母外加’.’:.abcdefghijklmnopqrstuvwxyz(不区分大小写)
4)、[auto activation triggers for javadoc]javadoc的触发器,默认是”@#”.
配置好之后再写代码时就会有自动代码提示了,对于那些离开智能编辑器就连一句代码也写不出的“程序员”来说这一步就相当于为他们扫清了重重障碍。
一、自动提示高级配置
但是你有没有发现在实际写代码时还会碰到不爽的感觉,就是不管你输入任何字符都会有提示,但是我们有时候并不想有提示,比如说当我们想定义一个字符串 s时,我们String s
,当我们再输入“=”时,屏幕上就变成String string=
,这是因为,当我们输入“s”时,eclipse代码自动提示中的第一个就是string
,当我们按下“=”键时,自动提示中第一项就会自动上屏,除了这个例子,还有很多类似的情况,其实这个时候我们不想出现自动提示,或者不希望自动提示类容上屏。因为在这个时候任意键都会触发自动提示上屏,我们就希望像“=”这样的键不产生这样的触发,其实我们像要自动提示类容上屏时主要是按“Enter”键,所以我们禁用“=”、“空格”、“;”这些键的触发功能就好了。
那么如何禁用上述三个键的触发功能呢?
其实很简单,只需要将eclipse源码包中负责这个代码自动提示功能.jar包内定义触发上屏的键集合中除去就好了。具体做法如下:
1、找到并打开对应源码:
首先默认你下载的eclipse是SDK版本的,对于不是SDK版本的稍后再讨论。
依次点击Window–>Show View–>Other…,在弹出的对话框中再选择Plug-in Development–>Plug-ins:
在Plug-ins中找到org.eclipse.jface.text,点击右键,选择Import As–>Source Project:
这时eclipse就会把该项目导入到你的workspace中了。展开该项目,在src目录中选择org.eclipse.jface.text.contentassist.CompletionProposalPopup.java文件, 目前我们找到并代开了需要修改的源码。
2、修改源码:
在该文件中找到如下的代码(一般在1300-1500行之间),我用的是eclipse4.3.0,要找的代码在1400行:
把其中 if (contains(triggers, key)) {
那行改为:if (key != 0x20 && key != '=' && key != ';' && contains(triggers, key)) {
经过上述修改,我们就去掉了按“空格”、“=”、“;”的上屏功能。并将其改为按“Tab”键上屏
保存修改。
3、到处并替换eclipse中原始的对应插件:
接下来要做的就是使用修改过的代码生成插件,并替换掉Eclipse本来的插件。在该工程上单击右键,选择Export…:
在弹出的对话框中选择Plug-in Development–>Deployable plug-ins and fragments,点击Next:
指定一个保存即将导出的jar包的位置,点击Finish。
这时,在你刚才指定的路径下会生成一个plugins文件夹,里面就是导出的jar包:
最后一步,定位到Eclipse安装目录下的plugins文件夹,使用这个刚生成的jar包替换掉原本的org.eclipse.jface.text包即,大功告成! 现在,使用代码提示时按下空格键已经不会自动上屏了,而是使用Tab键来上屏。
4、对于不是SDK版本的eclipse
对于不是SDK版本的eclipse,我强烈推荐使用SDK版本的eclipse,如果你是在不愿意更换,那么你可以从http://www.eclipse.org/projects/listofprojects.php获得所需的源代码,注意要找与你所使用版本号一致的SDK版的对应源码文件。
然后按照上面的修改方法就行修改,然后替换原始对应的.jar 包就好了,注意一定要 两个版本相同,否则是不可用的。