0

コード ブロックを Grails ドメイン クラスに追加するstatic mappingと、このドメイン クラスではコンテンツ アシストと構文の強調表示が機能しなくなります。これは、.groovy ドメイン クラス ファイルだけでなく、ワークスペースの残りの部分にも影響します。

再現する手順:

  • Test12 つのドメイン クラスを持ちTest2、同じパッケージ内にある新しいプロジェクトを作成します。
  • 次のコードを追加します。

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' 
    }
}

これまでのところ、すべてがうまくいくはずです。somePropertyTest1と someMethod はどちらもプロパティまたは暗黙的に呼び出される get メソッドであるため、青色で強調表示されています。

static mappingここで、コード ブロックを に追加すると、 call inTest2のシンタックス ハイライトが青から黒イタリックに切り替わります。また、コンテンツ アシストは機能しなくなりました。実際には認識されないため、replaceAll には下線が引かれています。someMethodTest1someMethod

これはすでに使いやすさを制限していますが、別のstatic mappingコード ブロックを に追加するとTest1、 のメソッドはTest認識されなくなります。ブロックを削除するとすぐに、すべてが再び正常に機能します。

一見些細なことに思えるかもしれませんが、これによりすべての作業プロセスが大幅に遅くなるため、優先順位をメジャーに設定しました。コンテンツ アシストがそれを伝えてくれないと、タイプミスがより頻繁に発生します。これが重大なバグでない場合は、マイナーに設定してください。

私はすでに問題を報告していますが、回避策を知っている人がいたら教えてください。

編集:申し訳ありませんが、バージョンと動作環境の情報を追加するのを忘れていました:

OS: Windows7 x64

IDE: GGTS 3.5.1

グレイル: 2.4.x

編集 2: grails 1.3.7 では再現できません。

4

1 に答える 1

0

Groovy Eclipse プラグインに問題があるようです。代わりに、http: //jira.codehaus.org/browse/GRECLIPSEでバグを送信したほうがよい場合があります。

GGTS は、Spring および Groovy プラグインが既にインストールされている eclipse です。

最新の開発者スナップショットに更新して、問題が解決するかどうかを確認してください。使用している Eclipse のバージョンの更新サイトを使用するだけです。

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

于 2014-10-28T14:54:13.490 に答える