Groovy Grails工具套件:“静态映射”代码块中断语法高亮显示和内容辅助



当您将static mapping代码块添加到grails域类时,内容辅助和语法高亮显示将不再适用于该域类。这不仅会影响.groovy域类文件,还会影响工作区的其余部分。

复制步骤:

  • 创建一个新项目,其中两个域类Test1Test2位于同一个包中
  • 添加以下代码:

Test1.groovy

package org.test
class Test1 {
    Test2 someOtherObject
    String someProperty
    def doSomethingWithSomeProperty(){
        someOtherObject.someMethod.replaceAll(/hello/, '$1 friend') 
        someProperty 
    }
}

Test1.groovy

package org.test
class Test2 {
    String getSomeMethod(){ 
        return 'hello' 
    }
}

到目前为止一切都应该很好。在Test1中,someProperty和someMethod以蓝色突出显示,因为它们要么是属性,要么是隐式调用的get方法。

现在,如果将static mapping代码块添加到Test2,则Test1someMethod调用的语法高亮显示将从蓝色切换为黑色斜体。此外,内容辅助不再起作用;replaceAll被加下划线是因为CCD_ 9实际上没有被识别。

这已经限制了可用性,但如果您向Test1添加另一个static mapping代码块,则Test的方法甚至将不再被识别。一旦你移除了块,一切都会恢复正常。

我将优先级设置为"主要",因为这会显著减慢所有工作流程,尽管乍一看可能微不足道。如果你没有内容助手告诉你,打字会更频繁。如果这不是一个主要的错误,只需将其设置为次要错误即可。

我已经为此提出了一个问题,但如果有人知道变通办法,请告诉我。

编辑:对不起,我忘记添加版本和操作环境信息:

操作系统:Windows 7 x64

IDE:GGTS 3.5.1

圣杯:2.4.x

第2版:grails 1.3.7不可复制。

听起来groovy eclipse插件有问题。你最好在这里提交一个bug:http://jira.codehaus.org/browse/GRECLIPSE

GGTS只是eclipse,已经安装了Spring和Groovy插件。

您可以尝试更新到最新的开发人员快照,看看这是否解决了问题。只需使用您正在使用的eclipse版本的更新站点。

http://groovy.codehaus.org/Eclipse+插件#EclipsePlugin DevelopmentSnapshotBuilds

相关内容

  • 没有找到相关文章

最新更新