web-dev-qa-db-fra.com

L'indexation Eclipse ne fonctionne pas

J'utilise CDT dans Eclipse 3.5.2 Galileo sous Ubuntu. 

L'indexeur de mon Eclipse ne fonctionne pas parfois. J'entends par là que lorsque je ctrl clique sur une fonction, il indique Could not find symbol in index. En outre, le clic sur le bouton F3 entraîne le même message d'erreur. En fait, la plupart des endroits ne fonctionnent pas et travaillent dans très peu d'endroits.

J'ai vu d'autres versions d'Eclipse où, dans le menu Fichier, un élément de menu répertorié pour l'indexation. Comme File-> Indexer-> Rebuild .... Mais dans le menu File, il n’existe pas d’élément de menu de ce type pour l’indexeur.

Le seul moyen sera-t-il d'utiliser une autre version d'Eclipse ou manque-t-il quelque chose? Toute indication à ce sujet serait utile.

13
liaK

Dans mon cas, rien n'a fonctionné et j'ai finalement procédé comme suit:

 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
16
sree

Pour ajouter des chemins contenant du code à analyser, procédez comme suit:
1. Clic droit sur le projet
2. Sélectionnez Propriétés
3. Aller à C/C++ Général
4. Aller au chemin et aux symboles
5. Si les chemins sont manquants, ajoutez des chemins.

Pour ré-analyser le code, procédez comme suit:
1. Clic droit sur le projet
2. Sélectionner un index
3. Reconstruire 

Si cela ne fonctionne pas, alors vous n'avez pas de chance. c ++ est un langage très difficile à analyser.

8
BЈовић

Si votre indexeur est bloqué et qu'il se bloque pendant une durée indéterminée, vous pouvez supprimer les fichiers de votre projet liés à l'indexeur à partir de .metadata. Assurez-vous qu'Eclipse ne fonctionne pas entre-temps.

Le répertoire .metadata est situé en tant que dossier caché dans le chemin de votre espace de travail.

Là, vous pouvez naviguer vers: 

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

Dans le répertoire .settings/, il y a des fichiers .prefs qui stockent les préférences de chaque projet individuellement.

Par exemple: org.Eclipse.cdt.core.prj-test-project.prefs enregistre les préférences du projet test-project

Ouvrez ce fichier avec l'éditeur de texte et supprimez toutes les lignes commençant par indexer. Cela réinitialisera les paramètres d'indexation pour ce projet spécifique sur les valeurs par défaut.

Sinon, vous pouvez supprimer toutes les lignes en commençant par indexer à partir de org.Eclipse.cdt.core.prefs; cela réinitialisera les paramètres de l'indexeur pour tout l'espace de travail.

4
user4786271

Je crois que vous pouvez effacer l'index en lançant:

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

Et puis redémarrer Eclipse. Il reconstruira ensuite son index.

Cela a fonctionné pour moi dans un projet Java, mais j'imagine que c'est le même index pour tous les types de projets (la plupart?).

2
dimo414

Voici la solution que j'ai utilisée après que Project->C++ Index->Rebuild a échoué. Cette astuce évite de supprimer votre projet actuel:

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: Assurez-vous que votre projet original est un projet C++ réel, sinon cela ne fonctionnera évidemment pas.

0
Flo

Vous pouvez essayer de reconstruire l'index. Cliquez avec le bouton droit sur le projet en mode Projet. Puis Index -> Rebuild.

0
paarandika

Convertir un projet en nature C ou C++ :

Right click on project: Nouveau> Convertir en projet C/C++

In "Convert to C or C++": Choisissez un projet C/C++

In "Project options": Cochez "Spécifier le type de projet"

...Project Type: Choisissez "Projet Makefile"

...Toolchains: GCC brut

0
user3115782

J'avais le même problème et il s'est avéré que le dossier d'index appartenait à la racine (je dois avoir exécuté Eclipse en tant que root une fois pour une raison quelconque). J'ai récupéré le dossier de projet à l'aide de Sudo chown -R username projectfolderpath et le problème a été résolu.

0
Augusto Sérgio