2011-10-02 84 views
0

使用Eclipse Google插件時,當您創建gwt uibinder對時,會得到一個java bean文件及其相應的.ui.xml模板文件。Eclipse:重構 - 重命名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 

也許,它從未在首位是不可能和我記錯。

回答

0

我沒有注意到這個功能,而我剛剛嘗試了它,重命名java或ui.xml會給你一個錯誤,直到你重命名其他文件。請注意,file.java代碼無法映射到file.ui.xml,因爲設計可以使用@UiTemplate將file.java鏈接到somethingelse.ui.xml。這可能是不起作用的原因。自動更改ui.xml文件名可能會導致大量更改。

但有一些重構。

重構能夠跟蹤對@UiField名稱的更改。如果我用@UiField對我的file.java文件中的字段進行重命名(使用Alt-R),則ui.xml文件中的ui:字段也會發生更改。

現在,這是一個棘手的問題。假設我有foo.java,foo.ui.xml和foo2.java,foo2.java使用foo.ui.xml UI模板(通過@UiTemplate註釋)。 ui.xml文件有一個Button調用欄,因此每個foo.java和foo2.java都有@UiField(「bar」)按鈕欄。跟我到目前爲止?

在Eclipse中,我打開foo.java,並使用Alt-R將bar更改爲baz。 ui.xml文件將其ui:field =「bar」更改爲ui:field =「baz」,並將foo.java中引用欄(例如@UiField和@UiHandler)的所有註釋更新爲引用baz。但是foo2.java中的代碼是而不是已更改,現在有一個我需要修復的錯誤。 foo2.java仍然期望在foo.ui.xml中看到名爲bar的按鈕。同樣,如果我打開foo2.java,並使用Alt-R將bar更改爲baz,則foo.ui.xml中的ui:field =「bar」爲而不是已更改,並且您現在有一個錯誤。

不知道是否有任何記錄在某處。也許你隱約記得這個重構。