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 会导致错误,直到您重命名另一个文件。请注意,file.java 代码映射到 file.ui.xml 不是给定的,因为设计可以使用 @UiTemplate 将 file.java 链接到 somethingelse.ui.xml。这可能是它不起作用的原因。像这样自动更改 ui.xml 文件名可能会导致大量更改。

但是有一些重构。

重构能够跟踪@UiField 名称的更改。如果我重命名(使用 Alt-R)file.java 文件中已使用 @UiField 注释的字段,则 ui.xml 文件中的 ui:field 也会更改。

现在这是一个棘手的问题。假设我有 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 中所有引用 bar 的注释(例如 @UiField 和 @UiHandler)都更新为引用 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 回答