以编程方式导入C / C ++项目

时间:2016-06-21 23:29:09

标签: java c++ eclipse eclipse-plugin eclipse-cdt

有关如何使用java以编程方式将C / C ++项目导入eclipse的任何帮助。

这是插件开发的一部分,其中外部工具为C ++项目创建所有文件,我的插件应该能够以编程方式将项目从该文件夹导入当前工作区。

我已经为java做了同样的事情,但无法理解如何为C / C ++做这件事

所以这里更加清晰

  • .project文件不是由外部工具生成的
  • 当我手动将文件夹导入eclipse时,“现有项目进入工作区”eclipse不会创建.cproject和.project文件
  • 但是当我手动将其导入为“makefile project”时,eclipse会在项目目录中创建.project和.cproject文件。

我已经实现了作为现有项目的导入

通过以下代码

System.out.println(“打开CPP项目”);

    //IWorkspaceRoot wrkSpaceRoot = ResourcesPlugin.getWorkspace().getRoot();

    project = ResourcesPlugin.getWorkspace().getRoot().getProject("ABCD");

    //String path="";
    try {

    //pMonitor.beginTask("creating CDT Project ", 0);

    IProjectDescription projDesc = ResourcesPlugin.getWorkspace().newProjectDescription(project.getName());

    if (!("".equals(projectPath)) && projectPath != null) {

    Path myPath = new Path(projectPath);
    projDesc.setLocation(myPath);

    }

    IProject cdtProj = CCorePlugin.getDefault().createCDTProject(
    projDesc, project, null);


    //if(create) cdtProj.create(projDesc, null);
    cdtProj.open(null);

    IWorkbench workbench = PlatformUI.getWorkbench();
    IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();

    workbench.showPerspective("org.eclipse.cdt.ui.CPerspective", window);

    }catch(Exception e){

        e.printStackTrace();

    }

我想要的是以编程方式将项目作为“makefile项目”导入工作区,

换句话说,我希望以编程方式执行“文件导入 - 现有代码作为makefile项目”所执行的操作。

1 个答案:

答案 0 :(得分:1)

Here是CDT源代码中“将现有代码导入为makefile项目”操作的实现。

认为导致.cproject文件创建的原因是creatProjectDescription()setProjectDescription()来电,但我不是百分百肯定。