在 Eclipse Content Assist 中禁用空间上的语句完成
Posted
技术标签:
【中文标题】在 Eclipse Content Assist 中禁用空间上的语句完成【英文标题】:Disable statement completion on space in Eclipse Content Assist 【发布时间】:2013-09-06 08:42:20 【问题描述】:有没有办法禁用 Eclipse 的自动完成功能,它会在按下空格时在 Java Content Assist 中插入当前选定的语句?
我仍然希望对回车键有这样的行为(并且只对回车)。
【问题讨论】:
我不认为有内置的方法可以做到这一点,但如果你愿意,你可以禁用“自动完成”,它应该只在你按 ctrl+space 时触发,这样它可能会解决您的问题... 如果您让我们知道您正在使用的操作系统和编程语言,将会有所帮助。 【参考方案1】:自 Eclipse 2018-12 (4.10) 以来,有一个偏好:
在 Window > Preferences: Java > Editor > Content Assist 中选中复选框禁用除“Enter”之外的插入触发器强>
另见:
Eclipse 4.10 - New and Noteworthy - Disable completion insertion triggers The feature here in this video in action.【讨论】:
【参考方案2】:我知道这是一个老问题,但下面的答案可能会帮助那些通过谷歌来到这里的人。 这是可能的,但有点复杂。
首先,我们可以确保在我们输入时弹出内容辅助: 在 Eclipse 中,打开 window->Preferences,转到 Java->Editor->Content Assist, 然后在 java 的自动激活触发器中输入所有 26 个大写和小写字母: 这已经被提到很多次了。 要仅按 Enter 确认,请从 this answer 或直接从 this Source Forge page 下载实用宏。将jar文件放到Eclipse安装目录下的dropins文件夹下,重启Eclipse即可找到: 点击红色按钮开始录制,在编辑器中的任意位置输入空格,然后再次点击红色按钮以显示保存屏幕。用某个名称保存宏,例如我们在这里使用“空格”。 然后再次进入Preferences,然后General->Keys,输入之前设置的名称作为过滤文本,找到录制的宏然后将其键绑定设置为Space 。 现在,每当您按空格键时,它都会中断内容辅助输入其建议的内容,但仍会显示辅助。您可以对点键执行相同的操作。
在这里测试: 输入 h 调出协助: 按空格键:它有效!如果我按 Enter,它仍然会自动完成。
对于点键,您可能希望它在放弃之前的建议后再次调出内容辅助,因此在录制点键的宏时,按点键然后使用 Alt+/ 调出辅助.重播时您可能会发现辅助是空的,那是因为它需要延迟。在插入点和带回辅助之间插入一些耗时的命令,例如Organize Import
或 Format Code
。
【讨论】:
【参考方案3】:不确定这是否是您要查找的内容,但是:
您可以在首选项中禁用热键(或将其设置为不同的热键)。
-
打开首选项窗口(在 Mac 上是 Eclipse->Preferences)
一般导航到“键”窗口 > 编辑器 > 键
在过滤器框中搜索“内容辅助”。
更改或删除绑定(靠近窗口底部)
【讨论】:
我认为用户的意思是如何更改热键以选择/插入从内容辅助中出现的建议,而不是使内容辅助出现的热键 嗯,你不能改变一般情况,但特定的编辑让你改变它。例如:Preferences->Pydev->Editor->CodeCompletion 等 谢谢!但是我使用的是Java编辑器,所以我无法奖励赏金【参考方案4】:据我所知,在开普勒是不可能的。我找到的最佳解决方案是 increase the "Auto activation delay (ms)" 设置。对我来说,将它从激进的默认值 40 毫秒增加到 200 毫秒效果很好。
【讨论】:
以上是关于在 Eclipse Content Assist 中禁用空间上的语句完成的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 Eclipse Content Assist(模板建议)窗口的字体
在 Eclipse Content Assist 中禁用空间上的语句完成
Eclipse RCP Content Assist 无法使用自动激活的字符
2017.4.17 定制Eclipse的Content assist(代码补全),比如空格键 "="键不上屏
eclipse,spring..xsd,struts2..dtd,,,,关于某一具体的值不能提示,content assist is not available。。