Eclipse自动补全调教

方法来自http://www.cnblogs.com/sunjie21/archive/2012/06/28/2567463.html

调教后可以做到:

1. sout + Tab 输出System.out.println()

2. 空格、'.'、'='、';'不再是确认自动补全的按键,添加Tab确认自动补全


1. 添加字符't'触发自动自动补全

设置位置:Window -> Preferences -> Java -> Editor -> Content Assist

在Auto Activation中的Auto activation trigger for Java中添加't'

2. 取消空格、'.'、'='、';'确认自动补全的功能,添加Tab

Window -> Show View -> Other... -> Plug-in Development -> Plug-ins,点击OK

找到org.eclipse.jface.text,右键,点击Import As -> Source Project

在自动打开的org.eclipse.jface.text项目中打开src -> org.eclipse.jface.text.contentassist -> CompletionProposalPopup.java,按Ctrl + F搜索“insertProposal(p, key, e.stateMask, ”

将附近的代码段

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

改为

case '\t':
   e.doit= false;
//    fProposalShell.setFocus();
    insertSelectedProposalWithMask(e.stateMask);
    return false;

default:
    ICompletionProposal p= getSelectedProposal();
    if (p instanceof ICompletionProposalExtension) {
        ICompletionProposalExtension t= (ICompletionProposalExtension) p;
    char[] triggers= t.getTriggerCharacters();
    if (key != '=' && key != 0x20 && key != '.' && key != ';' &&  contains(triggers, key)) {
        e.doit= false;
        hide();
        insertProposal(p, key, e.stateMask, fContentAssistSubjectControlAdapter.getSelectedRange().x);
    }
}

单击File -> Export,选择Plug-in Development -> Deployable plug-ins and fragments,然后next,勾选文件名,选择输出路径,点击Finish。

将生成的jar文件复制到Eclipse/plugins替换原有文件即可。

  

猜你喜欢

转载自www.cnblogs.com/snt165/p/10660335.html