【问题标题】:Intelllij IDEA Ultimate 2018.1 groovy code completion does not workIntellij IDEA Ultimate 2018.1 groovy 代码补全不起作用
【发布时间】:2018-04-19 04:00:47
【问题描述】:

我可以创建一个 Groovy 项目,甚至可以运行它。但是当我键入 main 或 print 时,根本没有自动完成/代码完成建议。我在外部库文件夹中有 groovy-2.4.1 和 Java 1.8。我发现 Intellij 令人沮丧且使用起来不直观。

在一个 groovy 脚本中,main 确实显示了正确的代码完成,但是当我单击 Enter 时,它会放置“main()”而没有我可以在建议中看到的 String[] args。

【问题讨论】:

    标签: intellij-idea groovy code-completion


    【解决方案1】:

    您创建了一个 Groovy 类,其中代码必须嵌入到类中才能执行,并且只需要类成员声明(例如函数、字段)。选择创建一个 Groovy 脚本(或只是删除类声明)以便能够在顶级文件中编写可执行代码。另见Scripts versus classes

    【讨论】:

    • 所以你是说 .groovy 类没有代码完成?这没有任何意义,主要是我编写 java 并且代码完成对于 .java 类非常有效。
    • 我是说main 不是该类的有效成员声明。我在 Groovy 类中有完成:i.imgur.com/mw9JsjJ.png 如果您根本看不到完成,请尝试 File |使缓存无效/重新启动.. |无效并重新启动,如果有任何插件,请禁用第三个插件。
    【解决方案2】:

    我在匆忙中忘记添加编写代码的方法时遇到了同样的问题。只需在类中输入“psvm + Enter”。这将创建一个代码完成将在其中工作的 main 方法。此外,您可以删除 public 关键字,因为 Groovy 中的类和方法默认是公共的。

    【讨论】:

    • 我没有使用 public 关键字,但感谢您对默认访问级别的提醒
    • pvsm+enter 写道:@Override void setMetaClass(MetaClass metaClass) { super.setMetaClass(metaClass) }
    • 您应该在实际课程中使用该组合键。对我来说,它可以工作并创建主要方法。我不知道为什么它会为您覆盖 setMetaClass 方法。尝试使用 TAB 而不是 Enter。如果该快捷方式也不起作用,则只需添加:static void main(String[] args) { }
    猜你喜欢
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    • 2018-01-25
    • 2018-06-22
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    相关资源
    最近更新 更多