web-dev-qa-db-fra.com

Clean Eclipse Index, il est désynchronisé avec le code

J'utilise Eclipse avec du code C++ via des ressources liées sur Linux. L'index d'analyse de code semble être corrompu (la définition de Goto place le curseur près de la définition mais pas sur celle-ci) L'actualisation des ressources ne le résout pas, pas plus que le redémarrage d'Eclipse.

Existe-t-il un moyen de vider l'index et de le reconstruire?

57
Vincent Scheib

Cliquez avec le bouton droit de la souris sur votre projet, allez dans le sous-menu Index et choisissez "Reconstruire", "Mettre à jour avec les fichiers modifiés" ou "Rafraîchir tous les fichiers".

Je ne connais pas la différence entre ces trois options, mais l'une des options «Mettre à jour avec des fichiers modifiés» ou «Rafraîchir tous les fichiers» me résout généralement le problème.

De plus, je suis sûr que vous avez déjà effectué cela, mais assurez-vous que vous utilisez la dernière version du CDT Eclipse. Les versions actuelles semblent avoir une indexation beaucoup plus fiable que les versions précédentes.

72
Josh Kelley

Depuis http://dev.Eclipse.org/mhonarc/lists/cdt-dev/msg10390.html , les différences entre "Reconstruire", "Mettre à jour avec des fichiers modifiés" ou "Actualiser tous les fichiers":

Reconstruire: Fonctionne pour des projets entiers uniquement. Efface l'index et les index les fichiers à partir de zéro. Une fois annulé, il vous reste vide ou index partiel.

Mise à jour avec des fichiers modifiés: fonctionne sur une ressource sélection. Vérifie sur des fichiers individuels si l'horodatage ou le scanner-config a été modifié et met à jour l'index du fichier .__ modifié. des dossiers.

Rafraîchir tous les fichiers: travaille sur une sélection de ressources. Met à jour le fichiers sélectionnés dans l'index. L'index n'est pas effacé, il est sûr de annuler l'opération.

32
Stephen

Accédez à votre projet properties -> C++ general -> Indexer.

  • Faites ceci avec 'project specific settings',
    (ou sur 'Configure Workspace Settings...').
  • Désélectionnez 'Enable Indexer' et appuyez sur Apply.
  • Sélectionnez 'Enable Indexer' hit Apply.

Cela devrait complètement effacer et reconstruire l'index.

18
TheAnvil

Aucune de ce qui précède n'a fonctionné pour moi (Eclipse Indigo), index encore cassé et refusant de reconstruire correctement. Jusqu'à appliqué celui-ci:

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

La partie cruciale de la publication liée est la suivante:

Eclipse ne traite plus votre projet en tant que projet C++. Choisissez le menu File/New/Convert to a C/C++ project. Il faut un certain temps pour indexer le code source.

Je me demande encore comment Eclipse peut se tirer d'une manière incontrôlable dans le pied comme ça. Je soupçonne que l'installation de paquets supplémentaires peut le déclencher. Peut-être que JavaScript est pris en charge dans mon cas.

9
Pavel Zdenek

supprimer seulement le .pdom le fichier sous .metadata.plugins\org.Eclipse.cdt.core aide, j'ai eu l'indexeur vissé après la mise à niveau de Neon.2 à Neon.3 et cela semble résoudre le problème . (ce commentaire existe déjà ci-dessus mais je ne suis pas autorisé à le confirmer là-haut).

3
Shay Perlstein

Avez-vous essayé d'ajouter -clean à la ligne de commande pour l'exécutable Eclipse?

1
Chris Dennett

Eclipse ne traite plus votre projet en tant que projet C++. Choisissez le menu Fichier/Nouveau/Convertir en projet C/C++. Il faut un certain temps pour indexer le code source. a travaillé pour moi

0
kibrom

J'ai commencé par essayer Josh Kelleys et les réponses mmmmms sans aucune chance, mais je l'ai finalement résolu en vérifiant mes chemins d'inclusion.

Une façon de les voir est dans l'Explorateur de projet, développez projet et il devrait y avoir une entrée "Inclut". À l'intérieur, recherchez un petit triangle d'avertissement jaune sur chaque chemin d'accès. Si ce triangle est présent, Eclipse ne reconnaît probablement pas le chemin.

Les chemins d'inclusion sont modifiés en cliquant avec le bouton droit de la souris sur "Votre projet" dans l'Explorateur de projet, puis choisissez "Propriétés" -> Général C/C++ -> Chemins et symboles -> Inclus. 

Je vois trois options de langue, Assembly, Gnu C, Gnu C++. Choisissez celui qui convient avant de commencer à ajouter des chemins (probablement Gnu C++). Après avoir ajouté tous les chemins, -> Appliquer -> Ok et reconstruisez l’index si on vous le demande.

Mes chemins d’espace de travail erronés ressemblaient à MyProject/MyProject/folder alors que cela devait être MyProject/folder .

Pour moi, la vue "Problèmes" est toujours lente à mettre à jour, même après la reconstruction de l'index. Pour vous assurer que l'erreur persiste, double-cliquez sur l'entrée problèmes afin qu'Eclipse ouvre/recharge le fichier en question. Cela me semble souvent nécessaire pour mettre à jour la vue "Problèmes".

Je ne sais pas vraiment si c'est Eclipse ou mon scm qui a tout gâché. Quoi qu'il en soit, espérons que cela aide quelqu'un!

J'utilise Luna et construit avec un makefile externe. 

0
Schaki