来自 http://blog.163.com/scuqifuguang@126/blog/static/17137008620137284213531/
要新建一个String类型的变量value,则当输入到value的时候,eclipse会在候选列表中列出valueString,如果此时再输入空格的话,就会选中候选列表中的valueString,则新建的变量将会变成valueString,这将会是一件很蛋疼的事情。
对于长期编程的人来说绝对无法忍受这样的折磨。于是乎, 解决办法 出来了:
首先,打开Eclipse,打开window->show view,选择Plug-ins,再找到org.eclipse.jface.text,右键单击,选择import as-> Source Project,导入完成后,在你的workspace就可以看到这个project了。
然后,在导入工程下的“org.eclipse.jface.text.contentassist.CompletionProposalPopup#verifyKey()”函数中有一段代码: (CTRL+F搜索)
将这段代码改为if (contains(triggers, key)) { ... }
还有把这段代码之上的代码if (key!=0x20 && key!='=' && key!=';' && contains(triggers, key)) { ... }
修改为case '\t': e.doit= false; fProposalShell.setFocus(); return false;
经过上述操作,这个辅助输入插件已经排除了空格与“=”的选中功能,增加了TAB键的选中功能。最后就是导出修改后的插件,右键点击你的workspace里的工程,选择Export->Deployable plugins and fragments,点击Next,选择Destination选项卡,选择Directory,选择一个要保存插件的目录,然后Finish。然后就会在你所选的目录下产生一个新的plugins目录,里面有一个jar文件,用它替换掉eclipse/plugins里面的org.eclipse.jface.text_3.6.1.r361_v20100825-0800.jar(这个文件不同版本的Eclipse,后面的版本号会不一样,我用的Eclipse 3.6),这样就大功告成了!case '\t': e.doit= false; insertSelectedProposalWithMask(e.stateMask); break;