Java Eclipse Luna split editor仅在使用自定义编辑器实现保存时更新

Java Eclipse Luna split editor仅在使用自定义编辑器实现保存时更新,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,EclipseLuna终于有了这个伟大的分割编辑器,我很难弄清楚如何使我们的编辑器在新特性下按预期工作。我们有自己的自定义编辑器,当它被拆分时,它的行为与Luna中的Java编辑器不同。在自定义编辑器中,在分割编辑器的一半中进行编辑时,分割的另一部分仅在保存文档时更新以匹配。而在Java编辑器中,每个字符的更新都是“实时”进行的。我希望我们的编辑器能够像Java编辑器那样使用每个字符进行更新,而无需保存 我想我可以创建一个新的Eclipse编辑器插件,看看它的行为是否像Java编辑器,但不幸的是

EclipseLuna终于有了这个伟大的分割编辑器,我很难弄清楚如何使我们的编辑器在新特性下按预期工作。我们有自己的自定义编辑器,当它被拆分时,它的行为与Luna中的Java编辑器不同。在自定义编辑器中,在分割编辑器的一半中进行编辑时,分割的另一部分仅在保存文档时更新以匹配。而在Java编辑器中,每个字符的更新都是“实时”进行的。我希望我们的编辑器能够像Java编辑器那样使用每个字符进行更新,而无需保存

我想我可以创建一个新的Eclipse编辑器插件,看看它的行为是否像Java编辑器,但不幸的是,它的行为像我们的自定义编辑器

我在谷歌上做了一些搜索,但没有找到任何关于这个特定主题的内容。事实上,我找不到任何能准确解释拆分编辑器工作原理的东西。我能够收集到它创建了编辑器的另一个实例,但仅此而已

当使用Eclipse Luna split editor功能时,有人知道如何在自定义编辑器中复制此“实时”文档更新吗


编辑6/7/14:我们的编辑器扩展了
org.eclipse.ui.editors.text.TextEditor

使用显式文档提供程序时可能会出现问题

例如,XML编辑器示例代码使用以下内容:

    setDocumentProvider(new XMLDocumentProvider());
但是,为了使新的分割编辑器代码能够工作,必须在初始化第二个分割编辑器查看器窗口时返回完全相同的文档提供程序。解决方法是使文档提供程序实例保持静态。这似乎有效:

    private static XMLDocumentProvider provider = new XMLDocumentProvider();
    ...
    setDocumentProvider(provider);
如果您使用的是显式文档提供程序,并且由于某种原因它不能是静态的(共享的),那么可能很难找到其他解决方法


我在这个问题上提出了一个bug,但到目前为止还没有回应或评论

你的编辑器是基于TextEditor还是其他什么?我的猜测是,文本编辑器有一个通用的
i文档
,并对文档更改事件做出响应。是的,它基于
TextEditor
。我会调查那个主意的。谢谢