eclipse代码补全按键修改成Tab


https://www.eclipse.org/downloads/compare.php?release=oxygen
  下载eclipse带有源文件的版本

  打开Eclipse,点击 window -> show view -> other,搜索并选择 Plug-ins;

在其中找到org.eclipse.jface.text,右键单击导入源文件项目,import as -> Source Project,

然后你就会在workspace中看到此项目

找到verifykey函数

将其中的代码:

// key != 0
  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);
        }
    }
  }
  return true;
}

修改为如下代码:

// key != 0
  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);
        }
    }
  }
  return true;
}

  导出修改后的插件,右键点击org.eclipse.jface.text项目,选择 Export-> Deployable plugins and fragments,点击 Next,在 Destination 中的 Directory,选择一个要保存插件的目录,然后 Finish。就会在你所选的目录下产生一个新的 plugins 目录,里面有一个jar文件,用它替换掉你使用的 Eclipse 目录下的 plugins 里面对应的org.eclipse.jface.text_*.jar,各个版本的版本号不太一样,替换之后重启 Eclipse,最好 “-clean” 一下。

代码提示设置:
增加Eclipse的提示功能
  在Eclipse中,从Window -> preferences -> Java -> Editor -> Content assist -> Auto-Activation下,我们可以在"."号后面加入我们需要自动提示的首字幕,比如"abc",可以把26个字母的大小写全部加上(.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_(@)

posted @ 2018-01-07 19:27  紫魔戒  阅读(3702)  评论(0编辑  收藏  举报