修改Eclipse与MyEclipse的代码提示功能+取消空格上屏
2016-02-06 14:28
459 查看
注:本文为在参考了网上相关文章后自己修改而成.
Auto activation triggers for Java” 指定当按下什么键时,会弹出代码提示。按照自己习惯配置即可,我的配置是”.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ([{,”。
较早版本的Eclipse与MyEclipse在这里最多只能指定5个键,想要指定更多的键,只能使用先导出配置文件,修改之后再导入的方法。具体方法可自行在网上搜索.
“Auto activation delay (ms):” 这个值指定当按下相应的触发键后,延迟多少毫秒弹出代码提示。建议设置为100以下,否则会有明显的停顿感。
下面先以Eclipse为例说明。
首先,如果你下载的Eclipse是SDK版本的,那么可以直接越过下面的一段。
如果你的Eclipse不是SDK版本的,强烈建议你改为使用SDK版本的Eclipse,因为SDK版的Eclipse附带了所有源码。
你可以在http://archive.eclipse.org/eclipse/downloads/页面选择对应版本的eclipse,然后在下载页面选择SDK版本进行下载.
如果你不愿意使用SDK版,那么也可以从http://www.eclipse.org/projects/listofprojects.php获得下文所需的源代码,以本文为例,点击Platform Text,会跳转到project页面,再点击Clone on GitHub,即可下载到相应的源代码。
在SDK版eclipse里依次点击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文件:
在该文件中找到如下的代码(一般在1300-1350行之间):
将其改为:
然后,在这段代码的下方,找到如下代码:
将其第一行改为:
经过以上修改,我们去掉了按下空格上屏和”=”上屏”,”上屏的功能,并将其改为按下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:
**
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中,最终解决了问题
1.修改Eclipse与MyEclipse的代码提示功能
设置代码自动完成提示的触发键 :依次点击Window–>Preferences–>Java–>Editor–>Content Assist:Auto activation triggers for Java” 指定当按下什么键时,会弹出代码提示。按照自己习惯配置即可,我的配置是”.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ([{,”。
较早版本的Eclipse与MyEclipse在这里最多只能指定5个键,想要指定更多的键,只能使用先导出配置文件,修改之后再导入的方法。具体方法可自行在网上搜索.
“Auto activation delay (ms):” 这个值指定当按下相应的触发键后,延迟多少毫秒弹出代码提示。建议设置为100以下,否则会有明显的停顿感。
2.取消空格上屏
使用Eclipse与MyEclipse的代码提示功能时,按下空格键后Eclipse会自动将代码提示中的第一项上屏。这一点有时会变得相当讨厌,因为很多时候我们只是单纯的想要输入一个空格而已。然而这一特性是无法通过配置改变的。好在Eclipse是开源的,我们仍然可以通过修改相应的源代码来改变这一点。下面先以Eclipse为例说明。
首先,如果你下载的Eclipse是SDK版本的,那么可以直接越过下面的一段。
如果你的Eclipse不是SDK版本的,强烈建议你改为使用SDK版本的Eclipse,因为SDK版的Eclipse附带了所有源码。
你可以在http://archive.eclipse.org/eclipse/downloads/页面选择对应版本的eclipse,然后在下载页面选择SDK版本进行下载.
如果你不愿意使用SDK版,那么也可以从http://www.eclipse.org/projects/listofprojects.php获得下文所需的源代码,以本文为例,点击Platform Text,会跳转到project页面,再点击Clone on GitHub,即可下载到相应的源代码。
在SDK版eclipse里依次点击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文件:
在该文件中找到如下的代码(一般在1300-1350行之间):
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:
**
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中,最终解决了问题
相关文章推荐
- MyEclipse Web Project转Eclipse Dynamic Web Project
- Windows Clang开发环境备忘
- 傻瓜式用Eclipse连接MySQL数据库
- MyEclipse常用配置图文教程
- Eclipse引入jquery报错如何解决
- 让Flex Builder 3.0与Eclipse3.4整合起来
- MyEclipse连接MySQL数据库报错解决办法
- Eclipse配置Javascript开发环境图文教程
- 使用zend studio for eclipse不能激活代码提示功能的解决办法
- 在myeclipse中如何加入jquery代码提示功能
- MyEclipse 6.0.1 6.0GA 6.0M1 5.5GA 5.1.1GA 注册码及高速下载地址
- 图解Eclipse j2ee开发环境的搭建过程
- 两种Eclipse部署动态web项目方法
- ext for eclipse插件安装方法
- javascript在myeclipse中报错的解决方法
- 解决Fedora14下eclipse进行android开发,ibus提示没有输入窗口的方法详解
- eclipse导入jquery包后报错的解决方法
- Eclipse 格式化代码时不换行与自动换行的实现方法
- Eclipse下jQuery文件报错出现错误提示红叉