从IJavaEditorTextHover获取当前项目路径

时间:2013-12-03 12:56:15

标签: java eclipse-plugin hover

我正在开发一个eclipse插件,我需要用户项目的路径。我想在实现org.eclipse.jdt.ui.text.java.hover.IJavaEditorTextHover

的班级上获得它

我尝试过:

IEditorPart editorPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); 

String activeProjectName = "";
if (editorPart != null) 
{ 
    IFileEditorInput input = (IFileEditorInput)editorPart.getEditorInput() ; 
    IFile file = input.getFile(); 
    IProject activeProject = file.getProject(); 
    activeProjectName = activeProject .getName(); 
} 
IProject project = workspace.getRoot().getProject(activeProjectName);

但是当我在我的实现org.eclipse.jdt.ui.text.java.hover.IJavaEditorTextHover的类上执行此操作时,我一直在

上获取nullpointerExcetion
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); 

我之前尝试过这种方法,但是在一个扩展AbstractHandler的类上,它起作用了。为什么我不能从IJavaEditorTextHover获得IProject?

1 个答案:

答案 0 :(得分:0)

IJavaEditorTextHoversetEditor(IEditorPart editor)方法,因此您可以使用该方法而不是尝试查找活动编辑器。

您的当前代码可能正在查找活动工作台或页面或编辑器,然后才能实际存在。