MyEclipse 代码提示功能修改

看到一篇非常好的修改文章 , 特此转载 , 留作以后备用

原帖:http://www.blogjava.net/greatyuqing/archive/2012/11/29/392226.html


本文的目的是修改Eclipse与MyEclipse的代码提示功能,使之能够更加快速的帮助程序员编写代码。


本文使用的Eclipse版本为4.2 JUNO,MyEclipse的版本为10.6。


1. 设置代码自动完成提示的触发键
依次点击Window-->Preferences-->Java-->Editor-->Content Assist:





"Auto activation triggers for Java" 指定当按下什么键时,会弹出代码提示。按照自己习惯配置即可,我的配置是".abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ([{,"。

较早版本的Eclipse与MyEclipse在这里最多只能指定5个键,想要指定更多的键,只能使用先导出配置文件,修改之后再导入的方法。具体方法可参考: http://hi.baidu.com/umltlgdcbsbilzd/item/aeb086202e194fc9a4275a67

"Auto activation delay (ms):" 这个值指定当按下相应的触发键后,延迟多少毫秒弹出代码提示。建议设置为100以下,否则会有明显的停顿感。


2. 取消空格上屏
使用Eclipse与MyEclipse的代码提示功能时,按下空格键后Eclipse会自动将代码提示中的第一项上屏。这一点有时会变得相当讨厌,因为很多时候我们只是单纯的想要输入一个空格而已。然而这一特性是无法通过配置改变的。好在Eclipse是开源的,我们仍然可以通过修改相应的源代码来改变这一点。

下面先以Eclipse为例说明。

首先,如果你下载的Eclipse是SDK版本的,那么可以直接越过下面的一段。

如果你的Eclipse不是SDK版本的,强烈建议你改为使用SDK版本的Eclipse,因为SDK版的Eclipse附带了所有源码。如果你不愿意使用SDK版,那么也可以从 http://www.eclipse.org/projects/listofprojects.php 获得下文所需的源代码,以本文为例,点击Platform Text,会跳转到project页面,再点击Clone on GitHub,即可下载到相应的源代码。

依次点击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文件:



在该文件中找到如下的代码:
case   ' \t ' :
      e.doit
=   false ;
      fProposalShell.setFocus();
      return   false ;

将其改为:
case   ' \t ' :
      e.doit
=   false ;
      insertSelectedProposalWithMask(e.stateMask);
      break ;

然后,在这段代码的下方,找到如下代码:
if  (contains(triggers, key)) {
    e.doit
=   false ;
    hide();
    insertProposal(p, key, e.stateMask, fContentAssistSubjectControlAdapter.getSelectedRange().x);
}

将其第一行改为:
if  (key  !=   0x20   &&  key  !=   ' = '   &&  key  !=   ' ; '   &&  contains(triggers, key)) {

经过以上修改,我们去掉了按下空格上屏的功能,并将其改为按下Tab键上屏,相信这是符合多数人的习惯的。

保存修改。接下来要做的就是使用修改过的代码生成插件,并替换掉Eclipse本来的插件。在该工程上单击右键,选择Export...:



在弹出的对话框中选择Plug-in Development-->Deployable plug-ins and fragments,点击Next:


指定一个保存即将导出的jar包的位置,点击Finish。


这时,在你刚才指定的路径下会生成一个plugins文件夹,里面就是导出的jar包:


最后一步,定位到Eclipse安装目录下的plugins文件夹,使用这个刚生成的jar包替换掉原本的org.eclipse.jface.text包即,大功告成!

现在,使用代码提示时按下空格键已经不会自动上屏了,而是使用Tab键来上屏。

MyEclipse的修改方法与Eclipse完全一样,用修改好的jar包替换掉MyEclipse自带的jar包即可,MyEclipse中该jar包的位置是:MyEclipse安装目录\Common\plugins。

需要额外注意的是MyEclipse中使用的org.eclipse.jface.text包的版本。如笔者使用的MyEclipse 10.6的jface.text的版本是3.7.2,而Eclipse Juno使用的jface.text版本为3.8.1。笔者试图用修改过的3.8.1版本的jar包替换掉MyEclipse自带的3.7.2的jar包,发现替换后的MyEclipse无法启动。无奈只能从网上重新下载了3.7.2版本的Eclipse SDK,将里面的jface.text修改好之后替换道MyEclipse中,最终解决了问题。 


做了一个图种,下载图片,解压缩格式为 zip , 该class 最佳tab自动上屏功能 以及 空格不自动上屏功能


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值