你的位置:首页 > Java教程

[Java教程]eclipse优化(部分)

1. 增强Eclipse(MyEclipse)输入代码提示功能

一般设置:

(1). 打开Eclipse,选择打开" Window -- Preferences"。

(2). 在目录树上选择"Java--Editor--Content Assist",在右侧的"Auto-Activation"找到"Auto Activation triggers for java"选项。默认触发代码提示的就是"."这个符号。

(3). 在"Auto Activation triggers for java"选项中,在"."后加上abc字母。然后"Apply",点击"OK"。

(4). 选择"File--Export",在弹出的窗口中选择"General--Perferences",点击"Next"。

(5). 选择"Export all",然后指定保存路径,点击"Finish"按钮后生成"*.epf"文件。

(6). 用文本编辑器编辑"*.epf"文件: 查找".abc",然后把".abc"修改为:.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ(, @然后保存"*.epf"文件。

(7). 选择"File--Import",在弹出的窗口中选择"General--Perferences",点击"Next"。

(8). 选择"*.epf"文件,选择"Import all",然后点击"Finish"按钮完成操作。

此时Eclipse能根据刚才编辑的英文字母(大写或小写)触发代码提示,携带录入,方便快捷。

设置每种文件编辑提示的时候都是windowà Preferences然后搜索content Assist。

2. 修改空格和"="自动上屏的问题

以前只知道alt+/调出assist,后来发现可以所有字母都激活content assist(8.1里有写)。用起来果然很爽,但是eclipse还是有些默认的设置不是很好,比如空格键和=号会把第一行的内容自动上屏,其实很多时 候我就是想输一个空格或=号而已。这个在设置里面没办法设置,幸好eclipse是有插件机制的,可以通过修改插件的源码,然后导出成插件,再替换掉原来 的插件来处理。

1.先找到相关的插件

打开Plug-ins View找到插件org.eclipse.jface.text,右键点击,选择import as Source Project,导入完成后,在你的workspace就可以看到这个project了

2.修改代码

在src/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java文件中,找到这样一行代码

char[] triggers = t.getTriggerCharacter();

if(contains(triggers,key))

在那行if判断里面,eclipse会判断key(就是你按下的键)是否在triggers中,如果是那就触发下面的第一行提示上屏的代码,所以我们要做的就是把空格和=号排除就可以了:

if(key!='='&&key!=0x20&&contains(triggers,key))

 

3.把修改好的org.eclipse.jface.text导出

右键点击你的workspace里的org.eclipse.jface.text,选择export-->Deployable plugins and fragments, next,destination 选择archive file,然后finish.你就可以在zip文件里看到生成好的jar ,用它替换掉eclipse/plugins里面的同名jar包,就可以了

if(key!=0x20 && key!='=' && key!=';' && contains(triggers,key))

最后就是导出修改后的插件,右键点击你的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),这样就大功告成了!

 

源:http://www.cnblogs.com/decarl/archive/2012/05/15/2502084.html

参考:http://blog.csdn.net/hztianye/article/details/14898951