【问题标题】:Importing a C/C++ project programmatically eclipse以编程方式导入 C/C++ 项目 eclipse
【发布时间】:2016-10-23 16:43:22
【问题描述】:

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

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

我对 java 也做过同样的事情,但无法理解如何为 C/C++ 做

所以这里更清晰

  • .project 文件不是由外部工具生成的
  • 当我手动将文件夹导入到 eclipse 中作为“现有项目到工作区”时,eclipse 不会创建 .cproject 和 .project 文件
  • 但是当我手动将其导入为“makefile 项目”时,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 项目”完成的操作。

【问题讨论】:

  • 您遇到了什么具体问题?请不要只说:这个 App/Plugin 创意的代码是什么?
  • .project文件是外部工具创建的吗?
  • 嗯,项目文件是由外部工具创建的。我在生成的文件列表中没有看到 .project 文件。只是makefile和头文件和cpp文件。我的问题是我需要使用“import - makefile c project”以编程方式将此项目导入工作区
  • 更清晰地更新了问题

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


【解决方案1】:

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

认为导致创建 .cproject 文件的原因是 creatProjectDescription()setProjectDescription() 调用,但我不是 100% 确定。

【讨论】:

    猜你喜欢
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 2020-02-26
    相关资源
    最近更新 更多