从IEDitorPart(Eclipse)获取ITextViewer

2 eclipse eclipse-rcp

Eclipse RCP问题

我打开文件:

IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IEditorPart editorPart = IDE.openEditor(page, file);
Run Code Online (Sandbox Code Playgroud)

我也得到了以下文件:

IDocument doc = ((ITextEditor)editorPart).getDocumentProvider().getDocument(editorPart.getEditorInput());
Run Code Online (Sandbox Code Playgroud)

我需要访问该文档的文本查看器(用于创建LinkedModeUI),有什么办法可以做到这一点吗?

Nic*_*sky 7

以下对我有用:

IEditorPart editorPart = getSite().getPage().getActiveEditor();
if (editorPart != null) {
    ITextOperationTarget target =
            (ITextOperationTarget)editorPart.getAdapter(ITextOperationTarget.class);
    if (target instanceof ITextViewer) {
        ITextViewer textViewer = (ITextViewer)target;
        // ...
    } 
}
Run Code Online (Sandbox Code Playgroud)