Eclipse内容辅助自动附加变量的类型
我刚开始使用Juno几天,内容辅助机制似乎与以前的行为有所不同 例如,如果我试图声明一个变量Eclipse内容辅助自动附加变量的类型,eclipse,eclipse-juno,content-assist,Eclipse,Eclipse Juno,Content Assist,我刚开始使用Juno几天,内容辅助机制似乎与以前的行为有所不同 例如,如果我试图声明一个变量 Boolean isVisible Juno的内容助手将为您提供一个带有变量名的下拉列表 isVisibleBoolean 作为暗示 最烦人的是,无论我输入什么(;或空格),都会选择“isVisibleBoolean” 有人知道如何禁用自动变量类型追加功能吗 非常感谢 我目前正在使用Mac OS X 10.8.1,还没有在windows中测试它。您看到的是对象类型的名称完成。这通常是有意义的,例如,
Boolean isVisible
Juno的内容助手将为您提供一个带有变量名的下拉列表
isVisibleBoolean
作为暗示
最烦人的是,无论我输入什么(;或空格),都会选择“isVisibleBoolean”
有人知道如何禁用自动变量类型追加功能吗
非常感谢
我目前正在使用Mac OS X 10.8.1,还没有在windows中测试它。您看到的是对象类型的名称完成。这通常是有意义的,例如,在
List book
之后按Ctrl空格键将完成对List bookList
的操作。对于基元类型,此操作未完成,因此按下Ctrl空格键时,int count
将无法完成。通过将变量声明为primitve boolean,这将是(不是很好的)解决问题的方法
我真正推荐的解决方案是改变编写变量声明的风格。例如,将write
isVisible=false
改为让编辑器抱怨缺少类型声明,点击Ctrl-1(从光标可能放置的位置),输入。这似乎是不可能的。
请参阅Eclipse错误378588的答案:根据讨论,检查您的内容辅助自动激活设置: 窗口->首选项->Java->编辑器->内容辅助
例如,如果字符a-z被列为“Java自动激活触发器”,则可以删除它们,并且当您点击“”或“;”时,类型名不会自动附加到新变量名中。您可以根据可用选项来确定您的风格的最佳配置/权衡。不是一个完美的解决方案: 窗口->首选项->Java->编辑器->内容辅助->Java的自动激活触发器:.ABCDEFGHIJKLMNOPQRSTUVWXYZ 这样,只会弹出类和类型以供建议
只是一个建议,选择取决于您。这在Eclipse 2018-12中仍然是一个问题,只有当您将Java的
自动激活触发器设置更改为例如。\u abcdefghijklmnopqrstuvwxyzabefghijklmnopqrstuvwxyz
时,才会出现这种情况,这将使内容辅助(几乎)总是弹出,即使不按Ctrl+Space(窗口)
Eclipse 2018-12中添加了一个新设置,使其不那么烦人(在下面的评论中提到):
在Window-Preferences-Java-Editor-Content Assist
中,勾选禁用除“回车”之外的插入触发器
框
启用此设置后,内容辅助仍将触发(取决于其他设置),但您必须按Enter键才能接受建议。您好,Bananewizen,感谢您的帮助,我在这里举了一个例子,您可能已经使用Hibernate很长时间了,在本例中,您希望执行类似于@Id@GeneratedValue(strategy=XXX)Long Id的操作。然后eclipse将为您提供Long idLong,这对于代码的可读性来说非常有意义,但实际上不是我们想要的,是吗?对于推荐,我认为这肯定会起作用,但对每个字段都这样做是缓慢的,而且没有必要的。这有点糟糕——就像默认值糟糕一样,它们不能被配置为不糟糕——但是有几个选项可以让它们不那么糟糕——@Daniel下面的回答建议只在其中添加“.”和大写字符,这是一个非常好的开始——或者在Luna中——在内容辅助菜单中有一个选项“自动插入单个建议”。如果您取消选中此选项,问题也会消失。这是一个不错的主意(假设我们使用TitleCase来处理事情——我在很大程度上是这样做的,这是违反标准的,但在这种情况下非常有用)--第二个选项是进入同一个菜单并取消选中“自动插入单个提案”--看起来这也会解决问题。朱诺不确定,在Luna中,您可以取消选中窗口->首选项->Java->编辑器->内容辅助->自动插入单个提案。谢谢您的回答,我已经从eclipse转到intelliJ,:D