Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse内容辅助自动附加变量的类型_Eclipse_Eclipse Juno_Content Assist - Fatal编程技术网

Eclipse内容辅助自动附加变量的类型

Eclipse内容辅助自动附加变量的类型,eclipse,eclipse-juno,content-assist,Eclipse,Eclipse Juno,Content Assist,我刚开始使用Juno几天,内容辅助机制似乎与以前的行为有所不同 例如,如果我试图声明一个变量 Boolean isVisible Juno的内容助手将为您提供一个带有变量名的下拉列表 isVisibleBoolean 作为暗示 最烦人的是,无论我输入什么(;或空格),都会选择“isVisibleBoolean” 有人知道如何禁用自动变量类型追加功能吗 非常感谢 我目前正在使用Mac OS X 10.8.1,还没有在windows中测试它。您看到的是对象类型的名称完成。这通常是有意义的,例如,

我刚开始使用Juno几天,内容辅助机制似乎与以前的行为有所不同

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

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