2016-06-21 10 views
2

Jede Hilfe zum programmgesteuerten Importieren eines C/C++ - Projekts mithilfe von Java in Eclipse.Programmgesteuertes Importieren eines C/C++ - Projekts

Dies ist Teil einer Plugin-Entwicklung, bei der ein externes Tool alle Dateien für ein C++ - Projekt erstellt und mein Plugin das Projekt aus diesem Ordner programmatisch in den aktuellen Arbeitsbereich importieren kann.

Ich habe das gleiche getan für Java, aber nicht in der Lage zu verstehen, wie es zu tun für C/C++

hier ist also so mehr Klarheit

  • die .project Datei durch die externen nicht erzeugt wird Werkzeug
  • , wenn ich den Ordner, in eclipse als „bestehende Projekte in Arbeitsbereich“ eclipse tut erstellen die .cproject und .project Dateien
  • , aber wenn ich es manuell importieren als „Makefile-Projekt“ erstellt dann verdunkeln die .project manuell importieren und .cproject Dateien im Projektverzeichnis.

Ich habe bereits acheived als vorhandenes Projekt importieren

durch den Code unten

System.out.println ("Öffnen CPP-Projekt");

//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(); 

    } 

, was ich will, ist das Projekt als „Make-Datei Projekt“ in Arbeitsbereich, programmatisch

mit anderen Worten importieren die Aktionen, die von „Datei-Import-Existing Code als Make-Datei Projekt“ i want erfolgt programmatisch zu tun.

+0

Welches spezifische Problem haben Sie? Bitte sag nicht einfach etwas wie: Wie lautet der Code für diese App/Plugin-Idee? – Julian

+1

Wird die Projektdatei vom externen Tool erstellt? – Basilevs

+0

Nun, die Projektdateien werden von einem externen Tool erstellt. Ich sehe keine Projektdatei in der Liste der generierten Dateien. nur das Makefile und die Header und CPP-Dateien. Mein Problem ist, dass ich dieses Projekt importieren muss mit "Import - Makefile c-Projekt" in den Arbeitsbereich programmgesteuert – svm

Antwort

1

Here ist die Implementierung der Aktion "Importieren von vorhandenem Code als Makefile-Projekt" im CDT-Quellcode.

Ich denke , was bewirkt, dass die .cproject-Datei erstellt werden soll, die creatProjectDescription() und setProjectDescription() Anrufe, aber ich bin nicht 100% sicher.