您的位置:首页 > 编程语言 > Java开发

MyEclipse代码补全设置及插件修改

2017-11-19 14:04 399 查看
用惯了IDEA才知道eclipse(MyEclipse)的代码提示这么不给力,下面给出我的解决方式

修改Eclipse配置

首先,修改eclipse的配置,使得我们在输入指定字符的时候能弹出提示代码:

打开Window->Reference,在Java->Edictor->Content Assist下,启用
Enable auto activation
,修改
Auto activatiopn triggesrs for Java
qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_.
也就是设置成26个字母的大小写、_以及.,这样当我们输入这些字符的时候就会有相应的提示。

修改补全插件

提示已经有了,但是eclipse的自动补全也是略坑,输入等号也会补全提示的内容,像我们输入
String name
就会被补全成
String studentString
,这是我们不想要的,这时候就需要重新编译补全插件了。

首先我们要安装Eclipse SDK,这样才能导入插件的源代码

以MyEclipse为例,Help -> Install from site,选择The Eclipse Project Updates,就可以看到Eclipse SDK,选择然后安装就可以了

第二步,导入插件源码:

Window -> show view -> others,在Plug-in Development下找到Plug-ins,点击OK。右键点击
org.eclipse.jface.test(版本号)
,import as -> source project,就可以在项目窗口看到刚刚导入的项目了。



第三步,修改代码

打开刚刚导入的项目下的
org.eclipse.jface.text.contentassist.CompletionProposalPopup.java
,可以看到里面有这么一段代码:

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);
}
}
}


将上面代码改成:

switch (key) {
case 0x1B: // Esc
e.doit= false;
case ' ':
case ';':
case '=':
hide();
break;

case '\n': // Ctrl-Enter on w2k
case '\r': // Enter
case '\t': // Tab
e.doit= false;
insertSelectedProposalWithMask(e.stateMask);
break;

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);
}
}
}




到这里就修改完成了,接下来我们需要导出插件

右键项目
org.eclipse.jface.text
,export,选择Plug-in Development中的Deployable plug-ins and fragment,选择Directory并选择一个文件夹,finish,修改后的jar包就会导出到该文件夹的plugin文件夹中,把生成的jar包覆盖掉MyEclipse安装目录下plugins文件夹中的同名文件就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  eclipse myeclipse