2016-04-26 9 views
0

Ich arbeite am Eclipse-Plugin. Im Projekt-Explorer gibt es mehrere Projekte und ich habe diese Projekte in verschiedenen Arbeitsbereichen gespeichert (ich habe ein neues Projekt, aber einen anderen Arbeitsbereich). Für ausgewählten Projektarbeitsbereich bekommt, folgend i CodeWie man einen anderen Arbeitsbereich erhält, der der Projektauswahl entspricht

ResourcesPlugin.getWorkspace().getRoot().getLocation().toString(); 

verwenden, aber es gibt immer den Arbeitsbereich, den ich ausgewählt habe, wenn ich Projekt erstes Mal öffnen. Gibt es eine Möglichkeit, einen anderen Arbeitsbereich zu erhalten, der einer anderen Projektauswahl aus dem Projekt-Explorer entspricht?

+0

Projekte befinden sich immer im aktuellen Arbeitsbereich, sodass Sie kein neues Projekt, sondern einen anderen Arbeitsbereich hinzufügen können. Was hast du eigentlich gemacht? –

+0

einfach ich gehe durch Datei-> Neu-> Projekt-> -> deaktivieren Sie und durchsuchen Sie den neuen Speicherort, geben Sie den Projektnamen -> fertig so habe ich verschiedene Projekte aus anderen Arbeitsbereich aber in selbe Projektexplorer –

+0

Das Projekt wird immer noch im aktuellen Arbeitsbereich erstellt, jedoch mit Verweisen auf Dateien, die sich an einem anderen Speicherort befinden. –

Antwort

0

Alle Projekte werden im aktuellen Arbeitsbereich erstellt. Eclipse hat nie mehr als einen Arbeitsbereich gleichzeitig aktiv.

Wenn Sie ein Projekt mit einem anderen Speicherort erstellen, können Sie dies am Projektstandort sehen.

Ersetzen Sie "Projekt" mit dem Namen Ihres Projekts, oder suchen Sie das Projekt aus der Auswahl.

pathInWorkspace ist der relative Pfad des Arbeitsbereichs und wäre in diesem Fall einfach /Project.

actualLocation ist der tatsächliche Speicherort des Projekts im Dateisystem.

+0

Ich bekomme "/ Poject" -Wert von pathInWorkspace und null von actualLocation –

+0

Ich muss den entsprechenden Pfad immer wenn ich Projekt –

+0

"Project" sollte der Name Ihres Projekts sein. –

1

In Ihrem Projektauswahl-Listener können Sie so etwas tun. Ich hoffe, Sie beziehen sich auf den Standard-Eclipse-Projekt-Explorer.

ISelectionService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService(); 
    IStructuredSelection structured = (IStructuredSelection) service.getSelection(IPageLayout.ID_PROJECT_EXPLORER); 
    if (structured instanceof IStructuredSelection) 
    { 
     Object selectedObject = ((IStructuredSelection) structured).getFirstElement(); 
     if (selectedObject instanceof IAdaptable) 
     { 
      IResource resource = (IResource) ((IAdaptable) selectedObject).getAdapter(IResource.class); 
      if (resource != null) 
      { 
       IProject project = resource.getProject(); 
       IPath location = project.getLocation(); 
      } 
     } 
    } 
+0

danke Kondal es funktioniert .. :) –

Verwandte Themen