2009-06-02 1 views
2

Ich möchte einen Eclipse-Arbeitsbereich programmatisch in einem Plugin ändern (das Hinzufügen vorhandener Projekte ist meine Hauptanforderung). Auch ich möchte CDT-Optionen (Umgebung, Indexer-Optionen) aus diesem Plugin ändern.Programmgesteuertes Ändern von Eclipse-Arbeitsbereich und CDT-Optionen von einem Plugin

Weiß jemand, wie man das am besten macht oder kann er mich auf gute Dokumentationen zu diesem Thema verweisen?

EDIT: Eigentlich will ich nicht CDT Projekteinstellungen, aber einige der globalen CDT-Einstellungen ändern (eigentlich möchte ich den Indexer deaktivieren).

Antwort

3

Es hängt von der Art der Änderung ab, die Sie anstreben.

Zum Beispiel wird das Hinzufügen eines Projekts am besten durch this thread veranschaulicht.

String theProjName = "Test"; 
String theLocation = "/some/test/project"; 

try { 
    IWorkspaceRoot theRoot = ResourcesPlugin.getWorkspace().getRoot(); 
    IProject theProject = theRoot.getProject(theProjName); 
    IProjectDescription theDesc =  theProject.getWorkspace().newProjectDescription(theProjName); 
     theDesc.setLocation(new Path(theLocation)); 
    theProject.create(theDesc, new NullProgressMonitor()); 
    if (theProject.exists()) { 
     theProject.open(new NullProgressMonitor()); 
    } 
} catch (CoreException err) { 
    err.printStackTrace(); 
} 

Sie auch open an editor wünschen:

IWorkbenchWindow dw = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); 
try { 
    if (dw != null) { 
    IWorkbenchPage page = dw.getActivePage(); 
    if (page != null) { 
    IDE.openEditor(page, file, true);     
    } 
} 
} catch (PartInitException e) { 

} 

Allgemeiner kann eclipse.dev.org eine gute Quelle zu diesem Thema für Zeiger sein.


Seit 2004 CDT has options Sie durch die Preference Setting Store (ICSettingsStorage) ändern können. Vielleicht kann das helfen.


In Bezug auf den Indexer, Vorsicht vor der Discovery Preferences.
Ich bin not sure there is an Indexer API, aber Sie können look at the sources für weitere Hinweise.

+0

Ist es möglich, Antworten als "halbe Lösungen" zu markieren? Weil deine Antwort gut ist, aber ich brauche auch den CDT-Optionsteil. Aber vielleicht könnte ich den CDT-Teil aus meiner Frage entfernen und einen neuen machen :-) Siehst du irgendeine Chance, dass du den CDT-Kram hinzufügen könntest? – mmmmmmmm

+0

@rstevens: Die Details sind ein wenig neblig, aber eine Möglichkeit, die CDT-Projekteinstellungen einzurichten, besteht darin, einen neuen Projektassistenten zu erstellen, der den CDT erweitert und dem neuen CDT-Projekt zusätzliche Einstellungen hinzufügt (die vorhandene Projekte in Arbeitsbereich I importieren könnten) denken). Es kann ein bisschen schwierig sein, alles an seinem Platz zu haben, aber es ist schon eine Weile her, dass ich so etwas gemacht habe. Wenn Sie die Einstellungen dynamisch im Plug-In bearbeiten/ändern möchten, empfehle ich Ihnen, die CDT-Einstellungsseite oder etwas ähnliches zu erweitern. Es würde Ihnen wahrscheinlich Zugang zu den Einstellungen geben. –

+0

@rstevens: Entschuldigung wegen der vagen Beschreibung, aber es ist eine Weile her und ich bin mir nicht ganz sicher, was Ihr Hauptziel ist. –

Verwandte Themen