Java eclipse插件开发--在选择向导时在项目中添加预定义的子文件夹
我是eclipse插件开发的初学者。实际上,我正试图在NEW->OTHERS中创建一个向导。说NEW->OTHERS->XYZenterprise(分类)和其中的向导XYZproject。我已经完成了 我正在努力解决的是,当我单击XYZproject时,会打开一个页面,它会询问项目名称,当你单击finish时,它会在工作区中添加具有指定名称的项目。我通过创建一个类并使用BasicNewProjectResourceWizard扩展它来实现这一点 像这样:- 导入org.eclipse.ui.wizards.newresource.*; “公共类NewWizard1扩展了BasicNewProjectResourceWizard{” 到目前为止,我能够实现所需的目标。Java eclipse插件开发--在选择向导时在项目中添加预定义的子文件夹,java,eclipse-plugin,Java,Eclipse Plugin,我是eclipse插件开发的初学者。实际上,我正试图在NEW->OTHERS中创建一个向导。说NEW->OTHERS->XYZenterprise(分类)和其中的向导XYZproject。我已经完成了 我正在努力解决的是,当我单击XYZproject时,会打开一个页面,它会询问项目名称,当你单击finish时,它会在工作区中添加具有指定名称的项目。我通过创建一个类并使用BasicNewProjectResourceWizard扩展它来实现这一点 像这样:- 导入org.eclipse.ui.wi
我想要的是,当我单击“完成”时,它会使用工作区中指定的名称添加项目,但也会将一些具有预定义名称的文件夹作为子文件夹添加到项目中。使用
BasicNewProjectResourceWizard
的一个问题是performFinish
创建项目并立即显示在您面前有机会添加额外的文件夹。不幸的是,这不容易更改,因为许多新向导不使用它
如果确实使用此向导,则可以覆盖performFinish
,并在其中添加创建的文件夹:
@Override
public boolean performFinish()
{
if (!super.performFinish())
return false;
IProject newProject = getNewProject();
IFolder newFolder = newProject.getFolder(new Path("relative path for folder"));
newFolder.create(false, true, progress monitor);
return true;
}
如果您正在创建大量文件夹,您可能需要使用
WorkspaceModifyOperation
或WorkspaceJob
来显示创建过程中的进度。谢谢,greg它非常有效。但是,如果您能告诉我正确的方法,我将不胜感激,因为使用BasicNewProjectResourceWizard可能并不方便。正确地操作是非常必要的非常复杂,需要查看BasicNewProjectResourceWizard源代码。好的,还有什么其他方法可以实现这一切。如果不使用BasicNewProjectResourceWizard,则无法直接调用抽象方法performFinish()对于类型向导!很抱歉,如果您只是扩展向导,您不需要超级调用,那么是的。此代码基于扩展基本项目创建的基本EWProjectResourceWizard。