2012-09-15 34 views
14

我刚开始使用Juno几天,内容辅助机制似乎不同于它以前的行为。Eclipse内容辅助自动附加类型的变量

例如,如果我尝试声明一个变量

Boolean isVisible 

内容辅助朱诺会给你的变量名

isVisibleBoolean 

为提示下拉列表中。

而非常烦人的是,无论我输入什么(;或SPACE),都会选择“isVisibleBoolean”。

有谁知道我怎么能禁用自动变量类型附加的东西?

非常感谢。

我目前使用Mac OS X 10.8.1,尚未在Windows中测试过它。

+1

不确定Juno,在Luna中,您可以取消选中Window-> Preference-> Java-> Editor-> Content Assist->自动插入单个提议。 – BrainSlugs83

+0

感谢您的答案,我已经从eclipse转移到intelliJ,:D – hjbolide

回答

6

基于为Eclipse Bug 412992的讨论,请检查您的内容辅助自动激活设置: 窗口 - >首选项 - > Java的>编辑 - >内容辅助

如果,例如,字符az被列为“Java的自动激活触发器”,您可以删除它们,并且当您点击“'或';'时,类型名称不会自动附加到新的变量名称。您可以根据可用选项为您的风格确定最佳配置/折衷方案。

+1

感谢Buzz,好像是“这是一个功能而不是bug”。 – hjbolide

+2

这有点糟糕 - 它就像缺省的吸吮一样,而且它们不能被配置为不吸吮 - 但是有几个选项可以让它们吸得更少 - @丹尼尔的答案下面建议只放“”。并在那里限制角色,这是一个非常好的开始 - 或者在Luna中 - 内容帮助菜单中的选项“自动插入单个提案”看起来像是如果取消选中此选项,问题也会消失。 – BrainSlugs83

-2

你看到的是对象类型的名称完成。这通常是有意义的,例如在List book后按Ctrl-Space将完成到List bookList。对于原始类型,这没有完成,所以当按下Ctrl-Space时int count将不会完成。这将通过将变量声明为primitve布尔值来解决您的问题(不是很好)。

我真正推荐作为解决方案的是改变你写变量声明的风格。对于你的榜样,写isVisible = false相反,有编辑抱怨缺少的类型声明,打按Ctrl - (在任何地方光标可能被放置),输入

+1

嗨Bananeweizen,感谢您的帮助,我在那里做了一个例子,您可能已经使用Hibernate很长一段时间了,在这种情况下您想要做@Id @GeneratedValue(strategy = XXX)Long id。 然后eclipse会给你Long idLong,这对于代码的可读性来说是非常有意义的,但是真的不是我们想要的,是吗?对于这个建议,我认为这肯定会起作用,但是对于每个领域来说这样做是缓慢和不必要的。 – hjbolide

1

不是一个完美的解决方案:

窗口 - >优先 - > Java的>编辑 - >内容Assist->自动激活触发器的Java:.ABCDEFGHIJKLMNOPQRSTUVWXYZ

这样,只有类和类型将被提出建议。

只是一个建议,选择取决于你。

+1

不是一个坏主意(假设我们将TitleCase用于事物 - 大部分情况下,这与标准相反,但在这种情况下这非常有用) - 第二种选择是进入相同的菜单并取消选中“自动插入单个提案” - 看起来这样会使问题消失。 – BrainSlugs83