1

プラグインがエディターのカーソル位置にアクセスするための適切な拡張ポイントを探しています。目的は、プラグインビューの現在のコード行に追加情報を提供することです。たとえば、アウトラインビューでは、現在の関数が強調表示されているので、それは可能だと思います。どうも

4

2 に答える 2

2

次のコードは私が望むことをします

import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.texteditor.ITextEditor;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.ISelection;        

IWorkbench wb = PlatformUI.getWorkbench();
IWorkbenchWindow win = wb.getActiveWorkbenchWindow();
IWorkbenchPage page = win.getActivePage();
IEditorPart editor = page.getActiveEditor();
if(editor instanceof ITextEditor){
    ISelectionProvider selectionProvider = ((ITextEditor)editor).getSelectionProvider();
    ISelection selection = selectionProvider.getSelection();
    if (selection instanceof ITextSelection) {
        ITextSelection textSelection = (ITextSelection)selection;
        System.out.println("startline:"+textSelection.getStartLine());
    }
}
于 2012-06-11T13:12:37.103 に答える
1

textSelection.getOffset()見つけたパターンから使用し、インターフェイスを使用org.eclipse.jface.text.IDocumentしてドキュメントからテキストを抽出し、必要な分析を行うことができます。

ITextEditor textEditor = (ITextEditor)editor;
IDocumentProvider dp = editor.getDocumentProvider();
IDocument doc = dp.getDocument(editor.getEditorInput());

IDocument文字のオフセットと行の間を行ったり来たりするメソッドがあります。

于 2012-06-11T13:19:00.960 に答える