我正在开发一个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的类上执行此操作时,我一直在
上获取nullpointerExcetionPlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
我之前尝试过这种方法,但是在一个扩展AbstractHandler的类上,它起作用了。为什么我不能从IJavaEditorTextHover获得IProject?
答案 0 :(得分:0)
IJavaEditorTextHover
有setEditor(IEditorPart editor)
方法,因此您可以使用该方法而不是尝试查找活动编辑器。
您的当前代码可能正在查找活动工作台或页面或编辑器,然后才能实际存在。