コード ブロックを Grails ドメイン クラスに追加するstatic mapping
と、このドメイン クラスではコンテンツ アシストと構文の強調表示が機能しなくなります。これは、.groovy ドメイン クラス ファイルだけでなく、ワークスペースの残りの部分にも影響します。
再現する手順:
Test1
2 つのドメイン クラスを持ち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 には下線が引かれています。someMethod
Test1
someMethod
これはすでに使いやすさを制限していますが、別のstatic mapping
コード ブロックを に追加するとTest1
、 のメソッドはTest
認識されなくなります。ブロックを削除するとすぐに、すべてが再び正常に機能します。
一見些細なことに思えるかもしれませんが、これによりすべての作業プロセスが大幅に遅くなるため、優先順位をメジャーに設定しました。コンテンツ アシストがそれを伝えてくれないと、タイプミスがより頻繁に発生します。これが重大なバグでない場合は、マイナーに設定してください。
私はすでに問題を報告していますが、回避策を知っている人がいたら教えてください。
編集:申し訳ありませんが、バージョンと動作環境の情報を追加するのを忘れていました:
OS: Windows7 x64
IDE: GGTS 3.5.1
グレイル: 2.4.x
編集 2: grails 1.3.7 では再現できません。