DIY增强eclipse的代码自动补全功能
来源:互联网 发布:js confirm 修改按钮 编辑:程序博客网 时间:2024/05/16 07:52
用过eclipse的同学一定生有体会,只有在打.的时候才会出现一个list,可以自动补全。但是java,android自带包的类,方法什么的名字都好长......实在不想多打字......有没有偷懒的方法呢??
当然是有的!别忘了eclipse是开源的,意味着可以定制!
Google了一下,确实有不少教程,我又发现中国文章一大抄啊......很多Blog是一样的......而且过时了......比如,好多Blog说修该文件增强自动补全,原因在于eclipse只支持四个自定义自动补全字符,但是新版的不存在这个问题,新版的可以直接添加任意个字符,好了,说了这么多,直接上方法!
直接定位Windows->Preferences->Java->Editor->Content Assist,在最后一栏的Auto activation triggers for java里添加abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,意思就是遇到这些字符的时候,eclipse都会自动补全代码。
哈哈,敲起代码不是一般爽。
别高兴太早,这样会带来一些问题,比如我敲这么一句代码时:String pub = "Hello!";直接敲出来肯定是String public = "Hello";(注意变量名字的变化),因为eclipse默认敲空格的时候把提示补全的list的第一个推荐上屏。是不是很郁闷......不过还是那句别忘了eclipse是开源的,意味着可以定制!一定要让机器服从人类,而不是适应机器,这也许可能就是玩Linux的人鄙视Windows的原因之一吧......跑题了...win粉勿喷......我们的目标是取消“=”,空格,“.”和“;”的自动补全,加入TAB的自动补全。
解决方案如下:
//网上说打开Eclipse,打开window->show view,选择Plug-ins,再找到org.eclipse.jface.text,右键单击,选择import as-> Source Project,导入完成后,在你的workspace就可以看到这个project了。在导入工程下的“org.eclipse.jface.text.contentassist.CompletionProposalPopup#verifyKey()”函数中有一段代码......
可是我压根就没找到Plug-ins!!!其实那还是因为eclipse版本的问题,现在的新版本已经没有这个了,取而代之的是在Window->Show View->的Other...里的PDE(首字母缩写,全名忘了......弹出对话框上面的搜索里输入P找一下)里的Plug-ins,而且必须是eclipse SDk版本的导入后才有源码!如果你不想重装你现在的eclipse的话,就下载一个eclipse SDk然后修改完替换目前的(目录是eclipse根目录下的plugins目录下的org.eclipse.jface.text._XXX,XXX是版本号,记得备份)。
修改方法:
找到以下代码片段:
// key != 0 switch (key) { case 0x1B: // Esc e.doit= false; hide(); break; case '\n': // Ctrl-Enter on w2k case '\r': // Enter e.doit= false; insertSelectedProposalWithMask(e.stateMask); break; case '\t': e.doit= false; fProposalShell.setFocus(); return false; default: ICompletionProposal p= getSelectedProposal(); if (p instanceof ICompletionProposalExtension) { ICompletionProposalExtension t= (ICompletionProposalExtension) p; char[] triggers= t.getTriggerCharacters(); if (contains(triggers, key)) { e.doit= false; hide(); insertProposal(p, key, e.stateMask, fContentAssistSubjectControlAdapter.getSelectedRange().x); } } }
修改为(注意红色部分):
// key != 0 switch (key) { case 0x1B: // Esc e.doit= false; hide(); break; case '\n': // Ctrl-Enter on w2k case '\r': // Enter e.doit= false; insertSelectedProposalWithMask(e.stateMask); break; case '\t': e.doit= false; insertSelectedProposalWithMask(e.stateMask); break; default: ICompletionProposal p= getSelectedProposal(); if (p instanceof ICompletionProposalExtension) { ICompletionProposalExtension t= (ICompletionProposalExtension) p; char[] triggers= t.getTriggerCharacters(); if (key!='='&&key!=0x20&&key!='.'&&key!=';'&&contains(triggers, key)) { e.doit= false; hide(); insertProposal(p, key, e.stateMask, fContentAssistSubjectControlAdapter.getSelectedRange().x); } } }
注意其中:31,,47行
如此之后,eclipse成为拍码神器~~翘起代码爽死了~~
怎么更改代码某一句字体颜色?发表后总是变成html代码...像这样:
if (key!='='&&key!=0x20&&key!='.'&&key!=';'&&contains(triggers, key))
- DIY增强eclipse的代码自动补全功能
- 如何增强eclipse的自动补全功能
- eclipse的代码自动填充补全功能
- Eclipse的代码自动补全功能
- eclipse代码自动补全功能
- Eclipse的自动补全功能
- 【Eclipse】Eclipse 代码自动补全功能设置
- Eclipse 代码自动补全功能设置
- Eclipse 代码自动补全功能设置
- Eclipse 代码自动补全功能设置
- eclipse 代码自动补全功能增加
- 配置eclipse代码自动补全功能
- Eclipse:启用代码自动补全功能
- Eclipse 自动补全功能
- eclipse自动补全功能
- eclipse的设置-自动补全功能
- 04 eclipse 自动补全功能的改进
- 如何设置eclipse的自动补全功能
- 块语法block 在iOS4中使用代码块-基础知识(翻译)
- 九款常用的JS代码高亮工具
- 1_01java跨平台原理,命令行,环境变量
- windows安装orace rac 蓝屏问题
- asp.net验证码生成和刷新及验证
- DIY增强eclipse的代码自动补全功能
- Java设计模式透析之 —— 适配器(Adapter)
- web网页优化,网页头部meat标签属性详细介绍,怎样让搜索引擎搜到自己的网站,网站优化
- poj 2762 强连通
- Geronimo3.0中配置默认的security
- txt导出到Excel(数据和图) C#
- Direct Memory
- 一个操作系统的实现(5):中断门
- 共享池的调整与优化(Shared pool Tuning)