我目前正在编写一个eclipse插件,在其中,我有一个新的项目创建和一个新的文件创建向导。
在新项目向导中,我创建它,所以我没有问题,并在其中创建新文件。 (比如为项目创建Main类)
但是当我在我的新文件向导中时,我完全不知道如何选择正确的项目,我想要一些帮助。 由于它是一个向导,我想避免需要一个打开的编辑器,因为它是一个新的向导,它没有一个处理程序,所以我无法从那里得到它...... / p>
提前谢谢你, 亲切,
答案 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();