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_(@)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
· 终于决定:把自己家的能源管理系统开源了!
· C#实现 Winform 程序在系统托盘显示图标 & 开机自启动
· 了解 ASP.NET Core 中的中间件
· 实现windows下简单的自动化窗口管理
· 【C语言学习】——命令行编译运行 C 语言程序的完整流程