Плагин Eclipse: получите включающий класс и имя члена - PullRequest
4 голосов
/ 17 октября 2010

Я создал плагин Eclipse для распечатки выделенного объекта при нажатии клавиши быстрого доступа.Я был в состоянии сделать это, но я также хотел бы добавить текущий метод и текущее имя класса в журнале.Я не уверен, как действовать дальше.Я попытался найти API крошки, но не смог сослаться на пакет из своего проекта.Я совершенно новичок в разработке плагинов, если кто-то может подсказать мне, как достичь моей цели.Заранее спасибо.

1 Ответ

6 голосов
/ 18 октября 2010

Это действительно трудно получить из Breadcrumb, вам нужно использовать отражение, чтобы получить его.

Вот код для получения текущего метода из редактора.

ITextEditor editor = (ITextEditor) PlatformUI.getWorkbench()
        .getActiveWorkbenchWindow().getActivePage().getActiveEditor();

ITextSelection selection = (ITextSelection) editor
        .getSelectionProvider().getSelection();

IEditorInput editorInput = editor.getEditorInput();
IJavaElement elem = JavaUI.getEditorInputJavaElement(editorInput);
if (elem instanceof ICompilationUnit) {
    ICompilationUnit unit = (ICompilationUnit) elem;
    IJavaElement selected = unit.getElementAt(selection.getOffset());

    System.out.println("selected=" + selected);
    System.out.println("selected.class=" + selected.getClass());
}
...