2

Eclipse RCP 问题

我打开文件:

IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IEditorPart editorPart = IDE.openEditor(page, file);

我还获得了以下文件:

IDocument doc = ((ITextEditor)editorPart).getDocumentProvider().getDocument(editorPart.getEditorInput());

我需要进入该文档的文本查看器(用于创建 LinkedModeUI),有没有办法做到这一点?

4

2 回答 2

7

以下对我有用:

IEditorPart editorPart = getSite().getPage().getActiveEditor();
if (editorPart != null) {
    ITextOperationTarget target =
            (ITextOperationTarget)editorPart.getAdapter(ITextOperationTarget.class);
    if (target instanceof ITextViewer) {
        ITextViewer textViewer = (ITextViewer)target;
        // ...
    } 
}
于 2011-09-24T00:25:39.800 回答
1

1) 一个文档可以用多个编辑器打开。您必须迭代所有编辑器以查找文件的编辑器。2)查看器被封装在编辑器中。我认为唯一的方法是扩展编辑器类以添加吸气剂。或者重新定义它,如果继承者无法访问查看器。

于 2009-06-05T11:24:16.157 回答