2010-10-17 71 views
4

我已经创建了一个Eclipse插件,用于在按下快捷键时在选择中打印对象。 我已经能够做到这一点,但我也想在日志中添加当前方法和当前类名称。我不知道如何进一步处理。我试图搜索breadcrumb API,但我无法从我的项目中引用该包。我对插件开发相当陌生,有人可以指导我如何实现我的目标。提前致谢。Eclipse插件:获取封闭的类和成员名称

回答

6

真的很难从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()); 
}
+1

嗨非常感谢您的回答。这对我帮助很大。我很感激,如果你能分享一些链接,我可以了解更多这些。 – Ravisha 2010-10-19 03:49:07

相关问题