2011-10-02 59 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”为而不是已更改,并且您现在有一个错误。

不知道是否有任何记录在某处。也许你隐约记得这个重构。