eclipse代码补全、代码提示及防空格自动补全

最近学了下eclipse编写java代码时可以自动提示并且解决了空格自动补全的苦恼问题,现在会了这个感觉很好,决定给大家分享下。

打开eclipse依次点击Window --> Perferences --> Java --> Editor --> Content Assist,

 eclipse代码补全、代码提示及防空格自动补全

 eclipse代码补全、代码提示及防空格自动补全

Auto activation triggers for Java:选项后的文本框中会看到一个"."

eclipse默认只有在你输入"."之后才会有代码提示和自动补全

我们需要在"."之后加上"qwertyuiopasdfghjklzxcvbnm",看起来很乱是吧,其实就是从左至右,从上至下顺序按你的键盘。

 eclipse代码补全、代码提示及防空格自动补全

点击【OK】。

此时已经有代码补全功能了,随便敲敲试试看!

 eclipse代码补全、代码提示及防空格自动补全

但是配置了代码自动补全后,常常空格时“被补全代码”,这就很烦了,下面教大家如何避免这种问题。


1.依次点击 window --> show view -->other> 找到plug-ins 

 eclipse代码补全、代码提示及防空格自动补全

eclipse代码补全、代码提示及防空格自动补全
找到插件org.eclipse.jface.text每个”.”都是按首字母排序的,大概是右边箭头这个位置)

 eclipse代码补全、代码提示及防空格自动补全

右键单击,选择import as--> Source Project,

 eclipse代码补全、代码提示及防空格自动补全

导入完成后,在你的workspaceeclipse左边就可以看到这个project了

eclipse代码补全、代码提示及防空格自动补全
2.修改代码


打开org.eclipse.jface.text/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java文件

 eclipse代码补全、代码提示及防空格自动补全

 

 

找到下面的代码(ctrl+F快捷查)  

char[] triggers= t.getTriggerCharacters();
if (contains(triggers, key)) {

 eclipse代码补全、代码提示及防空格自动补全

此处的if判断,eclipse会判断key是否在triggers中.所以我们需要做的就是把空格和=号排除就可以了: 
if(key != 0x20 &&contains(triggers,key)){ 
.........
}
代码修改成这样后,提示的时候按下空格,提示就会没掉,也不会自动补全
把修改好的org.eclipse.jface.text导出
右键点击你的workspace里的org.eclipse.jface.text,

选择export-->Deployable plug-ins and fragments

 eclipse代码补全、代码提示及防空格自动补全

next,destination 选择archive file,然后finish.

 eclipse代码补全、代码提示及防空格自动补全

你就可以在zip文件里看到生成好的jar ,用它替换掉eclipse/plugins里面的同名jar包,就可以了。

重新启动eclipse。

恭喜你完成了!