0

Eclipse Google プラグインを使用する場合、gwt uibinder ペアを作成すると、Java Bean ファイルとそれに対応する .ui.xml テンプレート ファイルが取得されます。

以前は Eclipse Helios でこれを実行できたと思います: uibinder セットの Java Bean を右クリックし、リファクタリングして名前を変更します。リファクタリング ダイアログを構成して、.ui.xml テンプレート ファイルの名前も変更できます。

最近、Eclipse 3.7.0 と最新の GPE を使用しています。私はもうそれをすることができません。やり方を忘れたのかもしれません。誰か方法を教えてください - ありがとう。

たとえば、uibinder ペアの名前を変更します

Hello.java, Hello.ui.xml

Bello.java, Bello.ui.xml

もしかしたら、そもそもありえなかったし、私の記憶違いだったのかもしれません。

4

1 に答える 1

0

その機能に気づかなかったので、試してみました。javaまたはui.xmlの名前を変更すると、他のファイルの名前を変更するまでエラーが発生します。デザインは@UiTemplateを使用してfile.javaをsomethingelse.ui.xmlにリンクできるため、file.javaコードがfile.ui.xmlにマップされることは想定されていないことに注意してください。これが機能しない理由かもしれません。そのようにui.xmlファイル名を自動的に変更すると、大きなカスケード変更が発生する可能性があります。

しかし、いくつかのリファクタリングがあります。

@UiField名の変更を追跡するために、リファクタリングで実行できること。@UiFieldで注釈が付けられたfile.javaファイルのフィールドの名前を(Alt-Rを使用して)変更すると、ui.xmlファイルのui:fieldも変更されます。

ここで注意が必要です。foo.java、foo.ui.xml、およびfoo2.javaがあり、foo2.javaがfoo.ui.xml UIテンプレートを(@UiTemplateアノテーションを介して)使用しているとします。ui.xmlファイルにはボタン呼び出しバーがあるため、foo.javaとfoo2.javaのそれぞれに@UiField( "bar")ボタンバーがあります。これまで私に従ってください?

Eclipseでfoo.javaを開き、Alt-Rを使用してbarをbazに変更します。ui.xmlファイルのui:field = "bar"はui:field = "baz"に変更され、参照バー(@UiFieldや@UiHandlerなど)を参照するfoo.java内のすべての注釈がbazを参照するように更新されます。しかし、foo2.javaのコードは変更されておらず、修正する必要のあるエラーがあります。foo2.javaは、foo.ui.xml内にbarというボタンが表示されることを期待しています。

同様に、foo2.javaを開き、Alt-Rを使用してbarをbazに変更すると、foo.ui.xmlのui:field = "bar"は変更され、エラーが発生します。

これのいずれかがどこかに文書化されているかどうかわからない。たぶん、あなたはこのリファクタリングを漠然と覚えていたでしょう。

于 2011-10-02T16:10:04.480 に答える