【发布时间】:2013-12-27 17:13:43
【问题描述】:
我正在使用 IntelliJ IDEA 13 来编辑我的 Grails 应用程序,虽然它在某些方面非常聪明,但它并不能很好地显示语法错误。
例如,我可能拼错了属性或方法名称,但 IntelliJ 在代码中显示了一个柔和的几乎不明显的黑色下划线,悬停弹出窗口显示Cannot resolve symbol 'foobar'。
如果我进入View -> Tool Windows -> Messages,那么它甚至不会显示这个问题,即使在Build -> Rebuild project 之后也是如此(尽管它在 3rd 方插件代码中显示了一些无用的弃用消息)。
如何找到显示所有这些潜在问题的视图以便我可以查看它们?
编辑 - @lukelazarovic 是完全正确的,我修正了一个关于 Groovy/Grails 如何工作的重大误解。问题也被部分覆盖:
Will groovy (grails) give you compile time checking like java?
【问题讨论】:
-
Groovy 在调用方法名时如果拼写错误不会引发编译错误。这同样适用于属性。这是因为它是一种动态语言,并且它的某些部分(如 GORM)严重依赖于在运行时动态添加方法。见groovy.codehaus.org/Runtime+vs+Compile+time,+Static+vs+Dynamic。所以我想知道你是如何在从命令行运行时获得编译时错误的。你能把错误和发生的代码贴在哪里吗?
-
你完全正确,我记错了,这些消息只在运行时出现。尽管如此,IntelliJ 可以在一个地方显示所有这些潜在问题,而不是在整个代码中隐藏为小下划线,所以我冒昧地重新表述了这个问题。或者,如果您将您的评论作为答案重新发布,我可以接受它,并以更准确的解释重新打开问题。
-
恕我直言,无需重新发布问题,稍后我们可以对其进行更精确的编辑。我知道您想要实现什么,并希望有一个解决方案,很快就会将其作为答案发布
标签: grails groovy intellij-idea