Eclipse Luna拆分编辑器仅在使用自定义编辑器实现保存时进行更新

时间:2014-07-05 23:24:56

标签: java eclipse eclipse-plugin

Eclipse Luna终于有了这个出色的分割编辑器,我无法弄清楚如何使我们的编辑器按照预期的功能使用新功能。我们有自己的自定义编辑器,它在分割时不像Luna中的Java编辑器。在我们的自定义编辑器中编辑分割编辑器的一半时,分割的其他部分仅更新以匹配保存文档的时间。而使用Java编辑器,更新发生在每个字符的“实际”时间。我希望我们的编辑器能够像Java编辑器一样更新每个字符而不保存。

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

我已经完成了一些Google搜索,但无法找到有关此特定主题的任何内容。事实上,我找不到任何可以解释拆分编辑器如何工作的东西。我能够收集它创建编辑器的另一个实例,但这就是它。

使用Eclipse Luna拆分编辑器功能时,是否有人知道如何在自定义编辑器中复制此“真实”时间文档更新?

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

1 个答案:

答案 0 :(得分:2)

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

例如,XML编辑器示例代码使用:

    setDocumentProvider(new XMLDocumentProvider());

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

    private static XMLDocumentProvider provider = new XMLDocumentProvider();
    ...
    setDocumentProvider(provider);

如果您使用的是显式文档提供程序,并且由于某种原因它不能是静态的(共享),则可能很难找到另一种解决方法。

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