2012-07-06 13 views
9

Ich verwende CDT in Eclipse 3.5.2 Galileo in Ubuntu.Eclipse Indizierung funktioniert nicht

Der Indexer meiner Eclipse funktioniert manchmal nicht. Damit meine ich, wenn ich ctrl auf eine Funktion klicke, heißt es Could not find symbol in index. Außerdem führt der Klick auf die F3-Taste zu derselben Fehlermeldung. Eigentlich funktioniert es an den meisten Orten nicht und arbeitet an sehr wenigen Orten.

Ich habe einige andere Versionen von Eclipse gesehen, wo im Menü Datei ein Menüeintrag für die Indexierung aufgeführt ist. Wie Datei-> Indexer-> Rebuild .... Aber in meinem Menü Datei gibt es keinen solchen Menüpunkt für den Indexer.

Wird der einzige Weg sein, eine andere Version von Eclipse zu verwenden oder fehlt etwas? Hinweise dazu wären hilfreich.

+0

Mögliches Duplikat von [Eclipse-Index bereinigen, es ist nicht mit dem Code synchronisiert] (http://stackoverflow.com/questions/3008293/clean-eclipse-index-it-is-out-of-sync-with- Code) –

Antwort

7

Pfade hinzuzufügen Code enthält, diese Schritte zu analysieren, wie folgt vor:
1. Direkt am
4. Gehen Sie zu dem Weg und Symbole
2. Wählen Sie Eigenschaften
3. Gehen Sie zu C/C++ Allgemeine Projekt klicken
5. Wenn die Pfade fehlen, fügen Sie Pfade hinzu.

Um diese Schritte folgen Sie den Code neu zu analysieren:
1. Direkt am

Rebuild 3.
2. Wählen Index
Projekt klicken Wenn dies nicht funktioniert, dann sind Sie aus Glück. C++ ist sehr schwer zu parsen.

11

In meinem Fall hat sich nichts folgende gearbeitet, und ich habe die zuletzt:

1) Close the project 
2) Delete the project(do not check from disk option) 
3) create new project with existing code(use the deleted project path) 
4) Successfully indexed my c++ code 
+1

Leider die einzige Lösung auch mit der neuesten MARS Eclipse ... –

+0

Funktioniert perfekt. – Slot

0

Ich glaube, Sie den Index, indem Sie löschen können:

rm .metadata/.plugins/org.eclipse.jdt.core/*.index 

Und dann Eclipse-Neustart. Es wird dann seinen Index neu erstellen.

Dies funktionierte für mich in einem Java-Projekt, aber ich stelle mir vor, es ist der gleiche Index für alle (die meisten?) Projekttypen.

1

Wenn Ihr Indexer blockiert ist und für unbegrenzte Zeit blockiert ist, können Sie die indexerbezogenen Dateien Ihres Projekts von .metadata löschen. Stellen Sie sicher, dass Eclipse in der Zwischenzeit nicht ausgeführt wird.

Das Verzeichnis .metadata befindet sich als versteckter Ordner im Pfad Ihres Arbeitsbereichs.

<workspace_path>/.metadata/.plugins/org.eclipse.core.runtime/.settings/

Im Inneren des .settings/ Verzeichnis gibt es .prefs Dateien, die individuell auf die Einstellungen für jedes Projekt speichern:

Dort können Sie navigieren.

Zum Beispiel: org.eclipse.cdt.core.prj-test-project.prefs speichert die Einstellungen des Projekts Test-Projekt

Öffnen Sie diese Datei mit dem Texteditor und entfernen Sie alle mit indexer Startlinien.Dadurch werden die Indexereinstellungen für dieses bestimmte Projekt auf den Standardwert zurückgesetzt.

Alternativ können Sie alle entfernen entfernen alle Zeilen beginnend mit indexer von org.eclipse.cdt.core.prefs; Dadurch werden die Indexereinstellungen für den gesamten Arbeitsbereich zurückgesetzt.

+0

das hat tatsächlich funktioniert –

0

Sie können versuchen, den Index neu zu erstellen. Klicken Sie mit der rechten Maustaste auf das Projekt in der Projektansicht. Dann Index -> Rebuild.

0

Hier ist die Lösung, die ich nach Project->C++ Index->Rebuild schlug fehlgeschlagen. Dieser Trick vermeidet Ihr aktuelles Projekt zu löschen:

1) Copy the current project (Right click->Copy from Project Explorer) 
2) Paste it (Right click->Paste from Project Explorer) and give the copy another name 
3) The indexer should now start and index both projects 
4) When indexation is complete, you can delete the copy 

PS: Stellen Sie sicher, dass Ihr ursprüngliches Projekt ist ein tatsächliches C++ Projekt oder wird dies offensichtlich nicht.

Verwandte Themen