【问题标题】:Eclipse: Refactoring-renaming GWT uibinder java bean does not rename template ui.xml fileEclipse:重构-重命名 GWT uibinder java bean 不重命名模板 ui.xml 文件
【发布时间】:2011-10-03 00:10:04
【问题描述】:

在使用 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

也许一开始就不可能,我记错了。

【问题讨论】:

    标签: java eclipse gwt google-eclipse-plugin


    【解决方案1】:

    我没有注意到这个功能,我只是试了一下,重命名 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 调用 bar,所以 foo.java 和 foo2.java 都有 @UiField("bar") Button bar。一直关注我吗?

    在 Eclipse 中,我打开 foo.java,然后使用 Alt-R 将 bar 更改为 baz。 ui.xml 文件的 ui:field="bar" 更改为 ui:field="baz",并且 foo.java 中引用 bar 的所有注释(例如 @UiField 和 @UiHandler)都更新为引用 baz。但是 foo2.java 中的代码 not 改变了,现在我需要修复一个错误。 foo2.java 仍然希望在 foo.ui.xml 中看到一个名为 bar 的按钮。

    同样,如果我打开 foo2.java,并使用 Alt-R 将 bar 更改为 baz,则 foo.ui.xml 中的 ui:field="bar" not 更改了,而你现在有一个错误。

    不确定这些是否记录在某处。也许你依稀记得这次重构。

    【讨论】:

      猜你喜欢
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多