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)1つのドキュメントを複数のエディタで開くことができます。ファイルのエディターを探すには、すべてのエディターを繰り返す必要があります。2)ビューアはエディタにカプセル化されています。唯一の方法は、エディタークラスを拡張してゲッターを追加することだと思います。または、ビューアに継承者からアクセスできない場合は、再定義します。

于 2009-06-05T11:24:16.157 に答える