<子>的更新 子>
这已在Eclipse 2018-12 中修复。此行为仍然是默认行为,但可以配置为关闭 - 请参阅the accepted answer了解
的方式我将保留问题,因为它适用于后代,以及那些早期版本的Eclipse
在Eclipse中,我通过转到
为Java启用了intellisense风格的建议Window -> Preferences -> Java/Editor/Content Assist
并设置以下内容
Auto activation delay (ms) -> 0
Auto activation triggers for Java -> .(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
source = Eclipse Intellisense?
除了一个烦人的问题外,这项工作非常出色。当我点击空格键时,键入的令牌会自动填充建议列表顶部的任何内容。很公平,除了有时我会键入一个具有完全合法匹配的类/变量名称,但这个不会显示为最高建议。所以,当我自然地点击空格键时,Eclipse会插入一些完全错误的内容。
键入Cookie
后E.G。我会点击空格键并获取
CookieMonster
。
这看起来像是一个错误,并且经常发生烦人的事情,但即使这样我也不希望空格键一般触发自动完成。我可能想要输入尚未声明的变量名称或类似的名称。我想使用自动完成功能作为辅助工具,但我的自然输入应始终优先于它。
我想停止空格键触发自动完成,然后回退到使用输入,或者更好的是仍然使用自定义触发自动完成键不用于普通打字。 这有可能吗?
我已经玩过内容辅助中的所有设置无济于事。谷歌搜索问题只会返回一系列关于禁用自动完成功能的结果。
此问题已在Eclipse 2018-12 [4.10]中修复,请参阅the accepted answer
它存在于所有先前版本中,即 2018-09 [4.9], Photon [4.8], Oxygen [4.7],< em>霓虹灯 [4.6]等。
答案 0 :(得分:26)
有一个解决方案on the issue tracker。 复制eclipse / dropins文件夹中的jar。下一次重启时,空格会被自动填充触发。
https://bugs.eclipse.org/bugs/show_bug.cgi?id=348857
Eclipse 12-2018及更新版本:这是本地工作,请查看Pyves的答案。
答案 1 :(得分:7)
使用eclipse的SDK版本
1.open Plug-ins查看并找到org.eclipse.jface.text,右键单击,选择import作为Source Project。导入后,您可以在工作区中找到它。
2.在src / org / eclipse / jface / text / contentassist / CompletionProposalPopup.java
char[] triggers = t.getTriggerCharacter();
if(contains(triggers,key))
更改为
if(key!='='&&key!=0x20&&contains(triggers,key))
3.Export org.eclipse.jface.text
右键单击org.eclipse.jface.text的项目文件夹,选择export - &gt; Deployable plugins and fragments,next,destination select archive file,finish。将eclipse / plugins中的那个替换为你生成的那个。
答案 2 :(得分:4)
Bug 348857的补丁程序最近已合并到Eclipse项目,并作为 Eclipse 2018-12 的一部分发布。您可以下载该版本here。
您现在有了一个新选项,可以禁用除 enter 之外的所有插入触发器,这将防止 spacebar 引起自动补全。
只需转到首选项... -> Java -> Editor -> Content Assist (或 Window -> 首选项-> Java -> Editor -> Content Assist Windows),然后选择 禁用除“ Enter” 以外的插入触发器,如以下屏幕截图所示:
答案 3 :(得分:3)
即使在Indigo中,空格键也是选择自动完成的关键。据我所知,这是无法配置的。 事实上,这可能是延迟存在的原因。
我建议将延迟设置为某个最佳值,以便您可以轻松输入private void ...
之类的内容,而不会触发private
和void
的建议。如果因为等待时间过长而得到建议,请按Escape以中止内容辅助。
答案 4 :(得分:0)
与davnicwil相同的配置,同样的问题,仍然在eclipse 4.4。
解决方案:在(编辑窗口)eclipse上拦截(挂钩)SHIFT + SPACE(按住)并用ESC,SPACE(序列)替换它。现在你决定了
在Windows上你可以使用http://www.heise.de/download/activaid.html(你也可以使用AutoHotkey,java native hook,...)
如何使用ActivAid:
我的配置文件:activAid / settings / ac'tivAid.ini:[UserHotkeys]
Hotkey11=+Space
Path11=<Send>{ESC}{SPACE}
Description11=Eclipse Shift+Space -> Esc,Space
Category11=
Application11=ahk_class SWT_Window0
您还可以使用“HotStrings”重新映射非英语键盘上的键,例如ö-&gt; {,ä-&gt;}等。
答案 5 :(得分:0)
终于解决了。
尝试下载此org.eclipse.jface.text.jar并将其复制到您的插件文件夹(通常是eclipse /插件)。不要忘记备份自己的。
适用于Eclipse Juno。
如果链接不起作用,请对此发表评论,谢谢。
答案 6 :(得分:-3)
您可以通过
中的复选框禁用自动激活Window -> Preferences -> Java/Editor/Content Assist
并根据需要激活自动完成功能。默认的热键是
CTRL + 空间
答案 7 :(得分:-3)
在Eclipse中转到Window - &gt;偏好 - &gt;一般 - &gt;键并删除命令Content Assist的绑定。