2017.4.17 定制Eclipse的Content assist(代码补全),比如空格键 "="键不上屏

Eclipse具有代码提示功能, 但是默认的提示只有在输入"."时才会提示, 我们希望Eclipse可以像Visual Studio那样, 输入任何字母都可以自动提示, 按照如下方式进行修改即可:

1. “window”→“Preferences” 2. 选择“Java”,展开,“Editor”,选择“Content Assist”。 3. 选择“Content Assist”,然后看到右边,右边的“Auto-Activation”下面的“Auto Activation triggers for java”这个选项。其实就是指触发代码提示的就是“.”这个符号。 4. “Auto Activation triggers for java”这个选项,在“.”后加abcdefghijklmnopqrstuvwxyz字母,方便后面的查找修改。然后“apply”,点击“OK”。

按照上述方法修改后编写代码可以实现随时代码提示和补全功能, 但是在使用过程中问题又来了, 当按下空格键时会把第一行的内容自动上屏,其实很多时候就是想输一个空格而已. 如何解决, 在网上搜索了一下, 果然有人遇到同样问题, 参考下面解决方案, 顺利在Eclipse 3.7下解决问题.

参考文章:

引: http://johnlxj.blog.163.com/blog/static/16586556420117175344712/ 以前只知道alt+/调出assist,后来发现可以所有字母都激活content assist(方法百度上都有,就不在这写了).用起来果然很爽.但是eclipse还是有些默认的设置不是很好,比如空格键和=号会把第一行的内容自动上屏,其实很多时候我就是想输一个空格或=号而已.这个在设置里面没办法设置.幸好eclipse是有插件机制的,可以通过修改插件的源码,然后导出成插件,再替换掉原来的插件来处理 1.先找到相关的插件  打开Plug-ins View找到插件org.eclipse.jface.text,右键点击,选择import as Source Project,导入完成后,在你的workspace就可以看到这个project了 2.修改代码  在src/org/eclipse/jface/text/contentassist/CompletionProposalPopup.java文件中,找到这样一行代码  char triggers = t.getTriggerCharacter();  if(contains(triggers,key))  在那行if判断里面,eclipse会判断key(就是你按下的键)是否在triggers中,如果是,那就触发下面的第一行提示上屏的代码.所以我们要做的就是把空格和=号排除就可以了:  if(key!=‘=‘&&key!=0x20&&contains(triggers,key))

3.把修改好的org.eclipse.jface.text导出  右键点击你的workspace里的org.eclipse.jface.text,选择export-->Deployable plugins and fragments, next,destination 选择archive file,然后finish.你就可以在zip文件里看到生成好的jar ,用它替换掉eclipse/plugins里面的同名jar包,就可以了

怎么我找不到src这个文件夹的 嗯 可能跟源码有关,你找找你的Eclipse IDE for Java EE Developers 的plugins目录下面有没有org.eclipse.jface.text的源码

Eclipse的Plug-in Development Environment (PDE)插件网址: http://www.eclipse.org/pde/

我同时安装了Eclipse 3.5和Eclipse 3.7, 按照上面的文章指导, 在Eclipse 3.5下无法对插件源码进行修改, 而在Eclipse 3.7下可以成功修改.

Eclipse 3.5 Galileo "import"对话框下没有"Plug-in Development"选项, 在Eclipse 3.5下无法对插件"org.eclipse.jface.text"源码进行修改.

Eclipse 3.7  "import"对话框下有"Plug-in Development"选项, 可以对Eclipse 3.7下的插件"org.eclipse.jface.text"源码进行修改.

"Import As" 需要选择"Projects with source folders"

[java] view plain copy print

// 对源代码进行如下修改
default:
ICompletionProposal p= getSelectedProposal();
if (p instanceof ICompletionProposalExtension) {
ICompletionProposalExtension t= (ICompletionProposalExtension) p;
char[] triggers= t.getTriggerCharacters();
// hf modify
// eclipse 关闭空格、等号自动补全(上屏)功能
//if (contains(triggers, key)) {
 if(key!=‘=‘&&key!=0x20&&contains(triggers,key)) {
e.doit= false;
hide();
insertProposal(p, key, e.stateMask, fContentAssistSubjectControlAdapter.getSelectedRange().x);
}
}
// 对源代码进行如下修改
default:
ICompletionProposal p= getSelectedProposal();
if (p instanceof ICompletionProposalExtension) {
ICompletionProposalExtension t= (ICompletionProposalExtension) p;
char[] triggers= t.getTriggerCharacters();
// hf modify
// eclipse 关闭空格、等号自动补全(上屏)功能
//if (contains(triggers, key)) {
 if(key!=‘=‘&&key!=0x20&&contains(triggers,key)) {
e.doit= false;
hide();
insertProposal(p, key, e.stateMask, fContentAssistSubjectControlAdapter.getSelectedRange().x);
}
}

将修改后的工程导出, 再用导出后的"org.eclipse.jface.text_3.7.1.r371_v20110825-0800.jar"插件覆盖原来对应插件就好了.

已经修改好的"org.eclipse.jface.text_3.7.1.r371_v20110825-0800.jar"我已经上传到我的资源中, 需要的可以去下载.

时间: 2024-11-01 10:24:30

2017.4.17 定制Eclipse的Content assist(代码补全),比如空格键 "="键不上屏的相关文章

Eclipse's Content Assist

在Eclipse里面的辅助智能索引只有”.”才会提示,或者手动按alt+/补全提示.因为Eclipse的补全功能的默认设置只有”.”,其实你只需要稍微修改一下就行了. 按步骤进入:顶部菜单Windows——>Preferences——>Java–>Editor–>点击Content Asist,在Auto activation triggers for Java后面的文本框里只有一个“.”.将其改为 .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN

Eclipse中输入变量会自动补全上屏的解决方法

我自己在启动Eclipse代码补全后输入感觉确实爽多了,但是每次输入变量后一按下空格,编译器会自己帮你写一个很蛋疼的名字,比如你输入了:String mStr后按下空格,它就变成了mString,十分讨厌.下面是正规的解决办法,但是经过我反复折腾,我实在没办法把插件的源码显示到工程中.于是偷个懒去网上下载了已经修改好的jar包,成功搞定. 我自己复制jar包的目录是:D:\Work Appliactions\adt-bundle-windows-x86-20140702\eclipse\plug

Eclipse自动代码补全

Windows——>Preferences——>Java-->Editor-->Content Asist, 在Auto activation triggers for Java后面的文本框里只有一个“.”. 现在你将其改为“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”即可. 然后你再试试,会发现,现在的补全功能跟VS差不多了.你还可以在Advanced和Favorite里进行高级的设置. 值得注意的是: 虽然这样实现

eclipse的自动补全 设置空格不上屏幕

eclipse自动补全会用空格选择,[有时候也会有触发. 网上有几种方法: 1.修改源代码,比较麻烦 http://blog.csdn.net/zhangjk1993/article/details/24838489 http://blog.csdn.net/afgasdg/article/details/24247863 http://blog.sina.com.cn/s/blog_6c9444750101bbrc.html 2.设置自动补全的延时 Windows -> Preferences

eclipse/myeclipse 变量名自动补全问题

原理是:在输入变量名后,去掉按下空格或=后,代码上屏  以前只知道alt+/调出assist,后来发现可以所有字母都激活content assist(8.1里有写).用起来果然很爽,但是eclipse还是有些默认的设置不是很好,比如空格键和=号会把第一行的内容自动上屏,其实很多时候我就是想输一个空格或=号而已.这个在设置里面没办法设置,幸好eclipse是有插件机制的,可以通过修改插件的源码,然后导出成插件,再替换掉原来的插件来处理. 1.先找到相关的插件 打开Plug-ins View找到插件

eclipse 代码补全修改

eclipse 初始状态的代码提示补全功能虽然好用,但是有些地方不尽如人意, 如果设置了任意字母都自动补全的话,在键入 空格.分号.等号等字符的时候,会自动带上一些特定的结尾, 比如:输入 String s的时候,会自动补全为String  sString,如何修改呢? 请参考:http://blog.csdn.net/unhappypeople/article/details/26974057 以上博客针对版本号相同的eclipse是有效的 下面是我针对不同版本之间的做法,其实就是在以上博客的

关于eclipse Android xml文件自动补全问题

打开Eclipse->Window->Preferences->XML->XML Files->Editor->Content Assist,  在第一个文本框里输入你要在哪个字符自动显示提示,例如:    输入:qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_"<=:   这样子,你每按一下键就自动提示了

eclipse 开发C/C++自动补全

查看gcc版本,然后在eclipse中添加两个变量 Windows-->Preferences-->C/C++ --> build --> Environment CPLUS_INCLUDE_PATH: /usr/include/c++/4.8.4 C_INCLUDE_PATH: /usr/include

转:Eclipse自动补全功能轻松设置

Eclipse自动补全功能轻松设置 || 不需要修改编辑任何文件 2012-03-08 21:29:02|  分类: Java |  标签:eclipse  自动补全  设置  |举报|字号 订阅 下载LOFTER我的照片书  | 本文介绍如何设置Eclipse代码自动补全功能.轻松实现输入任意字母均可出现代码补全提示框. Eclipse代码自动补全功能默认只包括 点"."  ,即只有输入”."后才出现自动补全的提示框.想要自动补全总是去按 “Alt + / ”也很麻烦. 其