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

时间:2017-08-16 17:52:01

标签: java eclipse-plugin wizard

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

在新项目向导中,我创建它,所以我没有问题,并在其中创建新文件。 (比如为项目创建Main类)

但是当我在我的新文件向导中时,我完全不知道如何选择正确的项目,我想要一些帮助。 由于它是一个向导,我想避免需要一个打开的编辑器,因为它是一个新的向导,它没有一个处理程序,所以我无法从那里得到它...... / p>

提前谢谢你, 亲切,

1 个答案:

答案 0 :(得分:0)

好的,我从另一种方法看了它,现在感觉非常愚蠢。

初始化向导时,会得到一个包含工作台和选择的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();