2016-07-06 13 views
0

Ich werde versuchen, einige Plugins zu entwickeln. also studiere ich Plugins und Listener. und ich versuche, Beispiele mit Listener und Javamodel zu entwickeln. Wenn ich jedoch auf IPackageFragmentRoot-Element zugreifen, tut es nicht, was ich will. Also, ich debuggte es. dann sehe ich, dass IJavaProject Element nicht geöffnet ist! Ich kann jedoch immer noch auf dieses Projekt in Eclipse zugreifen.Warum kann ich nicht auf IPackageFragmentRoot zugreifen?

Was ist falsch in meinem Code? und wie kann ich in IPackageFragmentRoot zugreifen?

Dies sind Beispiele für nicht offene Zustände.

project

pacakage

Dies ist Code-Schnipsel. currentProject ist IProject, das ich im Paket-Explorer ausgewählt habe.

if (currentProject != null) { 
    try { 
     currentProject.open(new NullProgressMonitor()); 
    } catch (CoreException e) { 
     e.printStackTrace(); 
    } 
    IJavaProject javaProject = JavaCore.create(currentProject); 
    ProjectTreeNode root = createTreeNode(javaProject.getElementName()); 
    IPackageFragmentRoot srcFolder = javaProject.getPackageFragmentRoot("src"); 
    root = getContents(srcFolder, root); 
    setInput(root); 
} 

ADD

ich in neuen Arbeitsbereich einige Projekte importiert.

enter image description here

Ist das falsch ??

Antwort

0

Ich gehe davon aus, dass Sie "Run as Eclipse Application" verwenden, um Ihr Plugin auszuführen und zu testen.

Wenn Sie das Plugin ausführen, startet Eclipse eine komplett neue Instanz von Eclipse mit einem neuen Arbeitsbereich. Ihr vorhandener Code ist in diesem Arbeitsbereich nicht vorhanden. Sie müssen in diesem neuen Arbeitsbereich neue Projekte erstellen, die die Projekte enthalten, mit denen Sie testen möchten.

+0

Danke für Ihre Antwort. aber ich habe eine andere Frage. Also, ich werde meine Frage aktualisieren. Kannst du mir helfen? – user3649231

+0

Ich kann nicht sagen, was Sie gezeigt haben. Was passiert, wenn Sie Ihr Plugin debuggen? Erhalten Sie das 'IProject'? Erhalten Sie das 'IJavaProject'? –

+0

hm ..... danke für deine Antwort. Ich habe meinen Fehler gefunden und eine Lösung gefunden. – user3649231

Verwandte Themen