wake-up-neo.com

Bereinigen Sie den Eclipse-Index. Er ist nicht mit dem Code synchronisiert

Ich verwende Eclipse mit C++ - Code über verknüpfte Ressourcen unter Linux. Der Code-Analyseindex scheint beschädigt zu sein (Springen-Definition bewegt den Cursor in der Nähe der Definition, jedoch nicht auf der Definition). Das Aktualisieren von Ressourcen behebt dies nicht, und Eclipse wird nicht neu gestartet.

Gibt es eine Möglichkeit, den Index zu leeren und neu zu erstellen?

57
Vincent Scheib

Klicken Sie mit der rechten Maustaste auf Ihr Projekt, wechseln Sie in das Untermenü "Index" und wählen Sie "Neu erstellen", "Mit geänderten Dateien aktualisieren" oder "Alle Dateien auffrischen".

Ich kenne den Unterschied zwischen diesen drei Optionen nicht, aber eine der Optionen "Mit geänderten Dateien aktualisieren" oder "Alle Dateien auffrischen" behebt das normalerweise für mich.

Ich bin sicher, dass Sie dies bereits getan haben, aber stellen Sie sicher, dass Sie die neueste Version des Eclipse CDT ausführen. Aktuelle Versionen scheinen viel zuverlässiger zu sein als frühere Versionen.

72
Josh Kelley

Unter http://dev.Eclipse.org/mhonarc/lists/cdt-dev/msg10390.html die Unterschiede zwischen "Neu erstellen", "Mit geänderten Dateien aktualisieren" oder "Alle Dateien auffrischen":

Neuaufbau: Funktioniert nur für ganze Projekte. Löscht den Index und die Indizes die Dateien von Grund auf neu. Wenn Sie stornieren, wird ein leeres oder .__ angezeigt. Teilindex.

Update mit geänderten Dateien: Funktioniert auf einer Ressource Auswahl. Prüft bei einzelnen Dateien, ob der Zeitstempel oder der scanner-config wurde geändert und aktualisiert den Index für das geänderte Dateien.

Alle Dateien auffrischen: Funktioniert mit einer Ressourcenauswahl. Aktualisiert die ausgewählte Dateien im Index. Der Index wird nicht gelöscht. brechen Sie den Vorgang ab.

32
Stephen

Gehen Sie zu Ihrem Projekt properties -> C++ general -> Indexer.

  • Tun Sie dies mit 'project specific settings',
    .__ (oder auf 'Configure Workspace Settings...').
  • Deaktivieren Sie 'Enable Indexer' und Apply.
  • Wählen Sie 'Enable Indexer' und Apply.

Dadurch sollte der Index vollständig gelöscht und neu erstellt werden.

18
TheAnvil

Keines der oben genannten Verfahren funktionierte für mich (Eclipse Indigo), der Index war immer noch kaputt und weigerte sich, ordnungsgemäß neu aufzubauen. Bis zur Anwendung dieses:

http://slsam2.blogspot.com/2012/02/Eclipse-cdt-index-not-working.html

Der entscheidende Punkt des verlinkten Posts ist Folgendes:

Eclipse behandelt Ihr Projekt nicht mehr als C++ - Projekt. Wählen Sie das Menü File/New/Convert to a C/C++ project. Es dauert eine Weile, bis der Quellcode indiziert ist.

Ich frage mich immer noch, wie Eclipse sich so unkontrolliert in den Fuß schießen kann. Ich vermute, dass die Installation zusätzlicher Pakete dies auslösen kann. Vielleicht unterstützt JavaScript in meinem Fall.

9
Pavel Zdenek

only the .pdom file unter .metadata.plugins\org.Eclipse.cdt.core hilft, ich habe den Indexer nach dem Upgrade von Neon.2 auf Neon.3 verschraubt und scheint das Problem zu lösen . (dieser Kommentar existiert bereits oben, darf ihn aber dort nicht bestätigen).

3
Shay Perlstein

Haben Sie versucht, -clean zur Befehlszeile für die Eclipse-Programmdatei hinzuzufügen?

1
Chris Dennett

Eclipse behandelt Ihr Projekt nicht mehr als C++ - Projekt. Wählen Sie Menü Datei/Neu/In ein C/C++ - Projekt konvertieren. Es dauert eine Weile, bis der Quellcode indiziert ist. arbeitete für mich

0
kibrom

Ich begann mit dem Versuch, Josh Kelleys und mmmmms Antworten ohne Erfolg zu testen, aber schließlich korrigierte ich meine Include-Pfade.

Eine Möglichkeit, sie zu sehen, besteht im Projektexplorer. Erweitern Sie das Projekt, und es sollte einen Eintrag "Includes" geben. Überprüfen Sie darin, ob auf jedem Include-Pfad ein kleines gelbes Warndreieck angezeigt wird. Wenn dieses Dreieck vorhanden ist, erkennt Eclipse den Pfad höchstwahrscheinlich nicht.

Die Include-Pfade werden bearbeitet, indem Sie im Projekt-Explorer mit der rechten Maustaste auf "Ihr Projekt" klicken. Wählen Sie dann "Eigenschaften" -> C/C++ - Allgemein -> Pfade und Symbole -> Include-Dateien. 

Ich sehe drei Sprachoptionen: Assembly, Gnu C, Gnu C++. Wählen Sie den richtigen Pfad aus, bevor Sie mit dem Hinzufügen von Pfaden beginnen (wahrscheinlich Gnu C++). Nachdem Sie alle Pfade hinzugefügt haben, -> Apply -> Ok und den Index neu erstellen, wenn Sie dazu aufgefordert werden.

Meine fehlerhaften Arbeitsbereichspfade sahen aus wie MyProject/MyProject/Ordner , wenn es sich um MyProject/Ordner handeln sollte.

Für mich ist die "Probleme" -Ansicht immer langsam zu aktualisieren, auch wenn der Index neu erstellt wurde. Um sicherzustellen, dass der Fehler immer noch vorhanden ist, doppelklicken Sie auf den Problemeintrag, sodass Eclipse die betreffende Datei öffnet/neu lädt. Dies scheint mir oft notwendig zu sein, um die Ansicht "Probleme" zu aktualisieren.

Ich weiß nicht wirklich, ob es Eclipse oder mein SCM war, der es durcheinander gebracht hat. Wie auch immer, hoffe es hilft jemandem!

Ich benutze Luna und Builds mit einem externen Makefile. 

0
Schaki