#这种方法只适用于Eclipse Classic版本(这个版本带有插件的源码)
在使用Eclispe的过程,感觉自动补全做的不好,没有VS的强大。下面说两个增强自动补全的方法:
1.增加Eclipse的提示功能
在Eclipse中,从Window -> preferences -> Java -> Editor -> Content assist -> Auto-Activation下,我们可以在"."号后面加入我们需要自动提示的首字幕,比如"abc",可以把26个字母的大小写全部加上(.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_)。
2. 修改自动补全的快捷键
首先,打开Eclipse,打开window->show view,选择Plug-ins,再找到org.eclipse.jface.text,右键单击,选择import as-> Source Project,导入完成后,在你的workspace就可以看到这个project了。
在导入工程下的“org.eclipse.jface.text.contentassist.CompletionProposalPopup#verifyKey()”函数中有一段代码:
1 // key != 0 2 switch (key) { 3 case 0x1B: // Esc 4 e.doit= false; 5 hide(); 6 break; 7 8 case ' ': // Ctrl-Enter on w2k 9 case ' ': // Enter 10 e.doit= false; 11 insertSelectedProposalWithMask(e.stateMask); 12 break; 13 14 case ' ': 15 e.doit= false; 16 fProposalShell.setFocus(); 17 return false; 18 19 default: 20 ICompletionProposal p= getSelectedProposal(); 21 if (p instanceof ICompletionProposalExtension) { 22 ICompletionProposalExtension t= (ICompletionProposalExtension) p; 23 char[] triggers= t.getTriggerCharacters(); 24 if (contains(triggers, key)) { 25 e.doit= false; 26 hide(); 27 insertProposal(p, key, e.stateMask, fContentAssistSubjectControlAdapter.getSelectedRange().x); 28 } 29 } 30 }
把这段代码修改为:
1 // key != 0 2 switch (key) { 3 case 0x1B: // Esc 4 e.doit= false; 5 hide(); 6 break; 7 8 case ' ': // Ctrl-Enter on w2k 9 case ' ': // Enter 10 e.doit= false; 11 insertSelectedProposalWithMask(e.stateMask); 12 break; 13 14 case ' ': 15 e.doit= false; 16 insertSelectedProposalWithMask(e.stateMask); 17 break; 18 19 default: 20 ICompletionProposal p= getSelectedProposal(); 21 if (p instanceof ICompletionProposalExtension) { 22 ICompletionProposalExtension t= (ICompletionProposalExtension) p; 23 char[] triggers= t.getTriggerCharacters(); 24 if (key!='='&&key!=0x20&&key!='.'&&key!=';'&&contains(triggers, key)) { 25 e.doit= false; 26 hide(); 27 insertProposal(p, key, e.stateMask, fContentAssistSubjectControlAdapter.getSelectedRange().x); 28 } 29 } 30 }
这样会取消“=”,空格,“.”和“;”的自动补全,加入TAB的自动补全。
最后就是导出修改后的插件,右键点击你的workspace里的工程,选择Export->Deployable plugins and fragments,点击Next,选择Destination选项卡,选择Directory,选择一个要保存插件的目录,然后Finish,这样会得 到一个zip包,打开,plugins里会有一个jar包,替换Eclipse的目录下的plugins里的同名文件(最好先把原plugins目录下的 org.eclipse.jface.text_3.7.2.v20111213-1208.jar(因为Eclipse版本的不同这个文件的名字可能不 同)备份)。
修改后使用Eclipse会很顺手!