Eclipse中的Groovy自动完成氧气变化我输入的内容

时间:2017-11-09 14:24:50

标签: eclipse groovy

在Eclipse(JEE)Oxygen中,我安装了以下插件,而不是Eclipse的Java EE发行版开箱即用的插件:

  • groovy-eclipse for Oxygen(4.7) - 截至2017年11月8日的快照版本
  • Spring Tools for Oxygen - 来自Marketplace的截至2017年11月8日的版本

我在.groovy文件中使用Groovy进行编码(使用New - > Groovy Class创建),我经常会遇到非常奇怪且不受欢迎的自动完成行为。

示例1

如果我在新行上键入System.out.,Eclipse会将其自动填充到System.out0.(请注意0)。这是System类的私有字段,绝对不应该存在。

要摆脱它,我不能再退格并再次尝试.,否则它会把它放回去。我必须 Backspace ,然后点击 Esc ,然后点击.让它读取System.out.

示例2

在JUnit中,我在课堂上有以下字段:

@Rule
public ExpectedException ex = ExpectedException.none()

当在新行的方法体内时,我输入ex.expect(我会看到自动完成窗口弹出,第一个结果是名为anyExceptionExpected的成员。可以预见,当我继续输入任何东西作为方法的参数,或者输入时,Eclipse会用以下代码替换完全合理的方法调用:ex.anyExceptionExpected(

再次,锤击 Esc "修复"问题,但困扰我的是,我不应该经常锤击 Esc ,以防止Eclipse完全无效地替换完全无效的代码,因为它&#39 ; s恰好在对象的成员名列表中的第一个asciibetical命中,该对象恰好具有我输入的子串的成员名称。

Eclipse中的Eclipse 当然并没有这种极端压迫的行为。 Java自动完成不会妨碍你。你可以吹嘘并输入你的陈述" raw" (没有任何自动完成功能)当你不想要它时,好像你在普通的记事本中输入一样,而Eclipse for Java通常不会过多地混淆你的代码(除了有时会让你的生活变得更糟)通过在不需要时自动添加右括号或引号,但这是次要的,因为它有时是有益的。

那么为什么Eclipse for Groovy不会做同样的事情呢?在Eclipse的庞大“首选项”窗格中是否有某个设置可以调整Groovy代码的这种行为?

基本上我希望Eclipse Groovy的自动完成功能就像默认的Eclipse Java自动完成一样工作(意思是,你使用默认的Eclipse安装,一个干净的Eclipse工作区,而不进行任何首选项更改)。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

如果您停用了几个代码辅助选项,则只有在您明确请求时才会出现提案和完成。

窗口>偏好> Java>编辑>内容辅助:   取消选中"启用自动激活"   取消选中"自动插入单个提案"