修改Eclipse与MyEclipse的代码提示功能

本文的目的是修改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中,最终解决了问题。

时间: 2024-08-10 00:05:58

修改Eclipse与MyEclipse的代码提示功能的相关文章

eclipse或者myeclipse的代码提示功能

第一步:打开eclipse,在菜单栏选择window-->preferences 第二步:在左边tree菜单栏选择General-->keys 第三步:在右边的文本框中输入content,选择Content Assist 第四步:然后在Binding中按下Alt+/键,用来表示这个项目的快捷键,在When中选择Editing Text,表示在编辑文本的时候就能触发 第五步:在Conflicts中选择Content Assist-->点击按钮Apply 第六步:经过如上的步骤之后,按下Al

为Eclipse CDT添加自动代码提示功能

1.前言 在使用Eclipse CDT的过程中,如果要使用代码提示功能,有2种方法: 设置触发字符,输入这些字符后会自动触发代码提示 使用快捷键 ALT+/,手动触发该功能 方法1的设置方法如下图,可以设置 . -> :: 三种触发类型. 但是对于其他C/C++好用的IDE,这种方式显然有点弱,那么如何将它改造成全自动提示呢? 方法是修改CDT... 2.CDT开发环境搭建 本文的开发环境是Manjaro,需要安装git,maven yay -S git yay -S mavengit clon

MyEclipse设置代码提示功能

写代码的时候为什么能给我们提示?你知道提示分为手动提示和自动提示么?今天我们就以MyEclipse为例讲一下MyEclipse手动提示和自动提示如何设置. 在开始这篇博客之前,我们先来说一下代码的手动提示和自动提示.手动提示就是必须按某个快捷键出现提示内容:自动提示就是只要你敲代码就会自动出现提示内容.好了,有了这样一个前提,我们就开讲了. 手动提示: MyEclipse是自带手动代码提示功能的,其默认键是Alt+/,但是有时候由于MyEclipse快捷键设置冲突的问题,导致了快捷键无法使用.所

eclipse如何开启/关闭代码提示功能

把下面红色框中的勾勾选上就是使用代码提示功能,不选就是关闭. 版权声明:本文为博主原创文章,未经博主允许不得转载.

离线使用eclipse的代码提示功能

eclipse的代码提示默认是抓取oracle官方的在线java-docs,然后进行相应的处理实现的.可以自己下载与jdk版本对应的java-docs,然后对eclipse的配置进行修改,实现离线使用代码提示功能. 步骤: 1. 下载 Java SE Development Kit 8u45 Documentation和 JavaFX API Documentation 下载地址: http://www.oracle.com/technetwork/java/javase/documentati

Linux Eclipse代码提示功能设置(Java & C/C++)

最近在Linux下开发,由于长期使用Visual Studio 2010,对代码提示功能情有独钟,现在在Linux下,使用Eclipse做开发,当然免不了怀念Visual Studio强悍的代码提示,于是在网上搜索了一些文章,整理出关于Eclipse代码提示功能设置的方法. Java: 增强Eclipse 的代码提示功能,具体怎么样来配置?下面开始说步骤: 1. 打开Eclipse,然后“window”→“Preferences” 2. 选择“java”,展开,“Editor”,选择“Conte

怎样增强MyEclipse的智能提示功能

之前一直开发.NET的项目,所以对Visual Studio比较熟悉,要做Java的项目,换成Myeclipse是各种的不适应啊,关键是VS的智能提示很好用,myeclipse提示都不显示出来,开发速率方面就慢了很多.其实Myeclipse代码提示功能是有的,只不过是需要"专业人员"去设置一下. 快捷键 智能提示的快捷键是Alt+/,当然如果用起来不方便的话,还可以自己手动设置成自己使用比较协方便的快捷键 自动提示 Eclipse ,MyEclipse代码里面的代码提示功能默认的一般

jupyter notebook 安装代码提示功能

我的是在anaconda中的root环境下运行以下命令,在其他环境下发现没有效果 1 pip install jupyter_contrib_nbextensions jupyter contrib nbextension install  --user 2. pip install--user jupyter_nbextensions_configurator jupyter nbextensions_configurator enable --user 3.安装成功会在http://loca

如何打开Eclipse代码提示功能

开启代码自动提示功能,首先找到设置提示符的位置: 打开 Eclipse  -> Window -> Perferences -> Java -> Editor -> Content Assist,在右边最下面一栏找到 auto-Activation ,下面有三个选项,找到第二个“Auto activation triggers for Java:”选项在其后的文本框中会看到一个“.”存在.这表示:只有输入“.”之后才会有代码提示和自动补全,我们要修改的地方就是这. 按说把该文