我没有注意到该功能,我只是尝试了一下,重命名 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"不会更改,您现在会遇到错误。
不确定这是否记录在某处。也许你依稀记得这次重构。