Eclipse插件:扩展INewWizard的新文件向导,如何获取要在其中创建的选定项目



我目前正在编写一个 eclipse 插件,其中有一个新的项目创建和一个新的文件创建向导。

在新建项目向导中,我创建了它,因此获取它并在其中创建新文件没有问题。(例如为项目创建主类(

但是当我在我的新建文件向导中时,我实际上不知道如何选择正确的项目,我需要一些帮助。 由于它是一个向导,我想避免需要打开的编辑器,而且由于它是一个新向导,它没有处理程序,所以我无法从那里获取它......

提前谢谢你, 亲切

好吧,我从另一种方法来看它,现在感觉很愚蠢。

初始化向导时,您将获得一个包含工作台和选择的 init 方法,以便您可以保留它。

private IWorkbench wb;
private IStructuredSelection sel;
@Override
public void init(IWorkbench workbench, IStructuredSelection selection) {
wb = workbench;
sel = selection;
}

然后,我早些时候在Eclipse网站上找到了一个代码片段,链接在这里,我必须稍微改变一下,它做了我想要它做的事情。

// Get selected resource (can get project from it)
// https://wiki.eclipse.org/FAQ_How_do_I_access_the_active_project%3F
private IResource extractSelection() {
Object element = sel.getFirstElement();
if (element instanceof IResource)
return (IResource) element;
if (!(element instanceof IAdaptable))
return null;
IAdaptable adaptable = (IAdaptable)element;
Object adapter = adaptable.getAdapter(IResource.class);
return (IResource) adapter;
}

有了这个,我可以通过执行以下操作在我的向导中获取我的项目

IProject project = extractSelection().getProject();

最新更新