如何基于另一个eclipse插件创建自定义项目布局?

时间:2012-02-22 20:17:11

标签: eclipse plugins eclipse-plugin eclipse-pdt

我的最终目标是创建一个设置PDT项目的eclipse插件,但是添加了一些构建器(和自定义构建脚本)以及特定的文件夹布局(不同的文件夹应该被视为源代码,而某些文件夹应该被视为常规文件夹文件夹)。

我看过/关注过eclipse插件开发教程,还可以。我得到了创建一个创建文件的向导的要点,但是我无法弄清楚如何创建项目,更重要的是,使该项目与PDT(PHP开发工具)功能相关联。

答案:

在给出答案之前,我自己偶然发现了一个解决方案,但它非常相似。

首先,WizardNewProjectCreationPage被用作我向导的第一页。

其次,在performFinish()上,我运行了以下代码:

        IProgressMonitor    m           = new NullProgressMonitor();
        IWorkspaceRoot      root        = ResourcesPlugin.getWorkspace().getRoot();
        IProject            project     = root.getProject(_pageOne.getProjectName());

        if (!project.exists())
        {
            IProjectDescription desc = project.getWorkspace().newProjectDescription(project.getName());
            URI projectLocation = _pageOne.getLocationURI();
            // desc.setLocationURI(projectLocation);

            String[]            natures     = desc.getNatureIds();
            String[]            newNatures  = new String[natures.length + 1];

            System.arraycopy(natures, 0, newNatures, 0, natures.length);
            newNatures[natures.length] = PHPNature.ID;

            desc.setNatureIds(newNatures);
            project.create(desc, m);
            project.open(m);
        }

1 个答案:

答案 0 :(得分:1)

  

如何创建项目

查看BasicNewProjectResourceWizard.createNewProject()方法。

  

使该项目与PDT(PHP开发工具)功能相关联

您需要将“org.eclipse.php.core.PHPNature”添加到项目中(这就是添加PHP支持... 操作的功能)。使用IProjectDescription.setNatureIds()