在 Eclipse 插件中,如何使标准编辑器变脏?

In Eclipse Plugin, how can I make standard editor dirty?

我正在尝试以编程方式使 Eclipse 编辑器变脏。

我知道 firePropertyChange(IEditorPart.PROP_DIRTY) 可以在我自己的编辑器上做到这一点。

但在这种情况下,我使用的是标准编辑器。 我可以让任何编辑器变脏吗(怎么做?) - 或者编辑器是否需要支持这个?

我有一个 org.eclipse.ui.IPartListener2。 从这里开始,当我收到 partOpened(IWorkbenchPartReference arg0) 事件时,我想让编辑器变脏。

我试图在这里查看类似的问题。但是我卡住了。

有什么提示吗?

找到一个窍门。

IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
try {
    EditorPart ep = (EditorPart) IDE.openEditor( page, iFile );
    IEditorInput input = ep.getEditorInput();
    IDocument doc = ((ITextEditor) ep).getDocumentProvider().getDocument(input);
    doc.set(doc.get());
} catch ( Exception e ) {
    //Put your exception handler here if you wish to
    e.printStackTrace();
}

这会弄脏编辑器。