〖Eclipse〗Eclipse实现类似于YouCompleteMe补全插件的tab选择,shift+tab反向选择,空格、回车、点号等结束选择。
2013-09-13 21:36
399 查看
1.增加Eclipse的提示功能
在Eclipse中,从Window -> preferences -> Java -> Editor -> Content assist -> Auto-Activation下,我们可以在"."号后面加入我们需要自动提示的首字幕,比如"abc",可以把26个字母的大小写全部加上(.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_)。
2. 修改自动补全的快捷键
首先,打开Eclipse,打开window->show view,选择Plug-ins,再找到org.eclipse.jface.text,右键单击,选择import as-> Source Project,导入完成后,在你的workspace就可以看到这个project了。
在导入工程下的“org.eclipse.jface.text.contentassist.CompletionProposalPopup#verifyKey()”的函数,直接修改为如下内容:
这样会取消“=”,空格,“.”和“;”的自动补全,加入TAB的自动补全、Tab向下选择、Shift+Tab向上选择。
最后就是导出修改后的插件,右键点击你的workspace里的工程,选择Export->Deployable plugins and fragments,点击Next,选择Destination选项卡,选择Directory,选择一个要保存插件的目录,然后Finish,这样会得到一个zip包,打开,plugins里会有一个jar包,替换Eclipse的目录下的plugins里的同名文件(最好先把原plugins目录下的org.eclipse.jface.text_3.8.2.v20121126-164145.jar(因为Eclipse版本的不同这个文件的名字可能不同)备份)。
修改后使用Eclipse会很顺手!
参考来源:http://www.cnblogs.com/sunjie21/archive/2012/06/28/2567463.html
在Eclipse中,从Window -> preferences -> Java -> Editor -> Content assist -> Auto-Activation下,我们可以在"."号后面加入我们需要自动提示的首字幕,比如"abc",可以把26个字母的大小写全部加上(.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_)。
2. 修改自动补全的快捷键
首先,打开Eclipse,打开window->show view,选择Plug-ins,再找到org.eclipse.jface.text,右键单击,选择import as-> Source Project,导入完成后,在你的workspace就可以看到这个project了。
在导入工程下的“org.eclipse.jface.text.contentassist.CompletionProposalPopup#verifyKey()”的函数,直接修改为如下内容:
/* * @see IContentAssistListener#verifyKey(VerifyEvent) */ public boolean verifyKey(VerifyEvent e) { if (!Helper.okToUse(fProposalShell)) return true; char key= e.character; if (key == 0 || key == '\t') { int newSelection= fProposalTable.getSelectionIndex(); int visibleRows= (fProposalTable.getSize().y / fProposalTable.getItemHeight()) - 1; int itemCount= fProposalTable.getItemCount(); //Shift + Tab if ( (e.stateMask == SWT.SHIFT ) && (e.keyCode == SWT.TAB) ) { newSelection -= 1; if (newSelection < 0) newSelection= itemCount - 1; selectProposal(newSelection, (e.stateMask & SWT.CTRL) != 0); e.doit= false; return false; } switch (e.keyCode) { case SWT.ARROW_LEFT : case SWT.ARROW_RIGHT : filterProposals(); return true; case SWT.ARROW_UP : newSelection -= 1; if (newSelection < 0) newSelection= itemCount - 1; break; case SWT.ARROW_DOWN : newSelection += 1; if (newSelection > itemCount - 1) newSelection= 0; break; case SWT.TAB : newSelection += 1; if (newSelection > itemCount - 1) newSelection= 0; break; case SWT.PAGE_DOWN : newSelection += visibleRows; if (newSelection >= itemCount) newSelection= itemCount - 1; break; case SWT.PAGE_UP : newSelection -= visibleRows; if (newSelection < 0) newSelection= 0; break; case SWT.HOME : newSelection= 0; break; case SWT.END : newSelection= itemCount - 1; break; default : if (e.keyCode != SWT.CAPS_LOCK && e.keyCode != SWT.MOD1 && e.keyCode != SWT.MOD2 && e.keyCode != SWT.MOD3 && e.keyCode != SWT.MOD4) hide(); return true; } selectProposal(newSelection, (e.stateMask & SWT.CTRL) != 0); e.doit= false; return false; } // key != 0 switch (key) { case 0x1B: // Esc e.doit= false; hide(); break; case '\n': // Ctrl-Enter on w2k case '\r': // Enter case ' ': //Space e.doit= false; insertSelectedProposalWithMask(e.stateMask); break; // case '\t': // e.doit= false; // 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); } } } return true; }
这样会取消“=”,空格,“.”和“;”的自动补全,加入TAB的自动补全、Tab向下选择、Shift+Tab向上选择。
最后就是导出修改后的插件,右键点击你的workspace里的工程,选择Export->Deployable plugins and fragments,点击Next,选择Destination选项卡,选择Directory,选择一个要保存插件的目录,然后Finish,这样会得到一个zip包,打开,plugins里会有一个jar包,替换Eclipse的目录下的plugins里的同名文件(最好先把原plugins目录下的org.eclipse.jface.text_3.8.2.v20121126-164145.jar(因为Eclipse版本的不同这个文件的名字可能不同)备份)。
修改后使用Eclipse会很顺手!
参考来源:http://www.cnblogs.com/sunjie21/archive/2012/06/28/2567463.html
相关文章推荐
- eclipse 去等号、空格自动补全,改tab补全设置(附上myeclipse8.5修改方法及改后的文件)
- 应用 JD-Eclipse 插件实现 RFT 中 .class 文件的反向编译
- 【记录】使用eclipse遇到的问题一:eclipse中按空格/Tab键错误触发代码补全
- 菜鸟入门,用eclipse安装hibernate插件实现反向工程
- Eclipse自动补全(取消“=”,空格,“.”和“;”的自动补全,加入TAB的自动补全)
- SVN工具的使用 和在Eclipse中安装GPD插件:(多步审批流,因此选择使用工作流(JBPM)来实现)
- eclipse显示行号和Tab、空格、回车
- Eclipse自动补全(取消“=”,空格,“.”和“;”的自动补全,加入TAB的自动补全)
- 【eclipse插件】eclipse实现java代码块折叠-类似于VS中的#region ....#endregion
- SVN工具的使用 和在Eclipse中安装GPD插件:(多步审批流,因此选择使用工作流(JBPM)来实现)
- eclipse中show whitespace characters显示代码空格,TAB,回车 导致代码乱恶心
- Eclipse显示空格,Tab,回车和行号
- eclipse4.3 jface.text插件,取消等号和空格触发的自动补全
- WdatePicker插件来实现开始和结束时间选择范围控制
- [Eclipse插件] Eclipse设置Tab键为空格(ctrl+shirt+f格式化生效)!
- 回车实现Tab跳转 金额文本框 省市联动选择 歌曲选择的实现
- 比较全面的Eclipse配置详解(包括智能提示设置、智能提示插件修改,修改空格自动上屏、JDK配置、各种快捷键列表……)
- 设置Eclipse中的tab键为4个空格的完整方法
- Eclipse设置软tab(用4个空格字符代替)及默认utf-8文件编码(unix)
- 如何实现应用程序中的”回车”成TAB?