繁体   English   中英

Groovy Grails工具套件:“静态映射”代码块破坏了语法突出显示和内容辅助

[英]Groovy Grails Tool Suite: `static mapping` code block breaks syntax highlighting and content assist

static mapping代码块添加到grails域类时,内容辅助和语法突出显示对该域类不再起作用。 这不仅影响.groovy域类文件,而且还影响工作区的其余部分。

重现步骤:

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

测试1.groovy

package org.test

class Test1 {
    Test2 someOtherObject
    String someProperty

    def doSomethingWithSomeProperty(){
        someOtherObject.someMethod.replaceAll(/hello/, '$1 friend') 
        someProperty 
    }
}

测试1.groovy

package org.test

class Test2 {

    String getSomeMethod(){ 
        return 'hello' 
    }
}

到目前为止,一切都应该正常工作。 Test1 someProperty和someMethod用蓝色突出显示,因为它们都是属性或隐式调用的get方法。

现在,如果将static mapping代码块添加到Test2 ,则Test1someMethod调用的语法突出显示将从蓝色变为黑色斜体。 同样,内容辅助功能不再起作用。 带下划线的replaceAll是因为实际上无法识别someMethod

这已经限制了可用性,但是如果您向Test1添加另一个static mapping代码块,则将不再能够识别Test方法。 删除该块后,一切都会再次正常运行。

我将优先级设置为“ major”,因为这乍看之下似乎微不足道,但是这会显着降低所有工作流程的速度。 如果您没有内容帮助告诉您错别字,则错字会更频繁地发生。 如果这不是主要错误,则将其设置为次要。

我已经为此提交了一个问题 ,但是如果有人知道解决方法,请告诉我。

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

操作系统:Windows 7 x64

IDE:GGTS 3.5.1

Grails:2.4.x

编辑2:无法与grails 1.3.7。

听起来您在使用groovy eclipse插件时遇到问题。 您最好改为在此处提交错误: http : //jira.codehaus.org/browse/GRECLIPSE

GGTS只是已经安装了Spring和Groovy插件的日食。

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

http://groovy.codehaus.org/Eclipse+Plugin#EclipsePlugin-DevelopmentSnapshotBuilds

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM