2016-03-28 5 views

Antwort

3

Ich nehme an, Sie ein Plugin für Eclipse CDT entwickeln.

Ohne mehr Kontext kann ich Ihnen keine vollständige Antwort geben. Allerdings kann der Index eines Eclipse-CDT-Projekt neu erstellt werden, wie folgt:

CCorePlugin.getIndexManager().reindex(project); // reindex 
               // note: project is an ICProject 
CCorePlugin.getIndexManager().joinIndexer(IIndexManager.FOREVER, pm); // wait for the indexing job to complete. 

Um die Klasse zuzugreifen CCorePlugin Sie eine Abhängigkeit zu dem Bündel org.eclipse.cdt.core zum MANIFEST.MF Ihres Plugins hinzufügen müssen.

+0

Großartig! Es funktionierte! Ich hatte nur das IProject, also bekam ich das ICProject mit: 'CCorePlugin.getDefault(). GetCoreModel(). GetCModel(). GetCProject (iproject.getName())' –

+0

Großartig! Alternative Möglichkeit, das 'ICProject' zu erhalten: Wenn Sie ein Objekt vom Typ' ICElement' haben (zB eine 'ITtranslationUnit'), können Sie das' ICProject' erhalten, zu dem dieses Element über seine '.getCProject()' Methode gehört. Scheint ein bisschen sauberer als die Verwendung des Projektnamens, aber es ist deine Wahl :) – silflow

1

In meiner Eclipse gibt es im Kontextmenü eines Projekts keinen "Index". Kennen Sie das Spion-Plugin? Sie können Informationen über aktive Ansichten erhalten und vielleicht finden Sie die relevanten Informationen für Sie.

Lesen Sie mehr auf http://www.vogella.com/tutorials/EclipseCodeAccess/article.html#pluginspy

+0

Danke für den Link, das Spion-Plugin kann für mich in Zukunft nützlich sein. –