web-dev-qa-db-fra.com

Pourquoi l'achèvement du code Eclipse ne fonctionne-t-il pas sur certains projets?

J'ai Eclipse 3.3.2 avec PDT faisant PHP développement. Tous les projets que je crée, même les projets SVN, sont complétés par du code. Maintenant, je viens d’ouvrir un autre projet SVN et il n’a pas d’achèvement de code ni de modèles PHP (CTRL-space ne fait rien dans ce projet). Cependant, je peux ouvrir les autres projets et terminer le code, tous y travaillent.

Pourquoi l'achèvement du code et les modèles sont-ils désactivés dans un seul projet et comment puis-je le réactiver?

24
Edward Tanguay

Peut-être qu'Eclipse ne comprend pas que le projet a une "nature PHP". Essayez de comparer le fichier .project sur les deux projets pour rechercher des différences. Il devrait contenir quelque chose comme:

 <natures>
  <nature>org.Eclipse.php.core.PHPNature</nature>
 </natures>

Le fichier .project sera dans votre espace de travail sous les répertoires du projet.

42
Guido

Recherchez le chemin du fichier .build dans votre projet ... insérez cette ligne entre les balises:

<buildpathentry kind="con" path="org.Eclipse.php.core.LANGUAGE"/>

Enregistrez-le et redémarrez Eclipse. Maintenant, tout devrait aller bien ... Cela a fonctionné pour moi. :)

6
parham

Je vous remercie! J'ai passé toute la journée à comprendre pourquoi je n'avais pas terminé le code ...

Le problème est que si vous créez un projet SVN, le .project est un fichier de base sans référence à la complétion de codec. Vous devez créer un projet PHP de base, comparer les deux fichiers et remplacer le fichier manquant dans celui du projet SVN.

Maintenant, j'ai terminé le code pour chaque fichier du projet, même pour la bibliothèque Zend Framework

5
fabrizio

Il ne suffit que d’une ligne pour ajouter le fichier .project, puis pour redémarrer Eclipse afin d’obtenir l’achèvement du codec:

---
 <natures>
 </natures>
---

après le changement doit être

---
 <natures>
  <nature>org.Eclipse.php.core.PHPNature</nature>
 </natures>
---

Cela devrait faire.

5
lagopixel

@Guido PHPNature ne résout pas ce problème.

@ Edward Tanguay Oui, c'est parce que lorsque vous créez un nouveau projet PHP, Eclipse ajoute un fichier .buildpath avec

<?xml version="1.0" encoding="UTF-8"?><buildpath>
<buildpathentry kind="src" path=""/>
<buildpathentry kind="con" path="org.Eclipse.php.core.LANGUAGE"/></buildpath>

lorsque vous importez un projet existant, Eclipse ne génère pas de fichier .buildpath, mais vous pouvez l'ajouter manuellement ou créer un nouveau projet PHP avec le source existin (vous pouvez choisir dans l'assistant).

4
umpirsky

J'ai le même problème parfois. Pour moi, cela fonctionne pour reconstruire le projet PHP avec "Projet" -> "Nettoyer".

3
Joe Scylla

Si vous avez ce problème, procédez comme suit:

  • Sélectionnez "PHP Include Path" dans votre arborescence de projet.
  • Faites un clic droit dessus, puis cliquez sur "Chemin de construction> Configurer le chemin de construction"
  • Dans la fenêtre d’ouverture, ajoutez le dossier que vous voulez créer pour qu’il puisse faire de l’assistant de code.

C'est tout :) J'espère que cela résoudra votre problème, j'ai résolu mon problème :)

2
Ersin DOĞAN

Assurez-vous que le fichier s'ouvre avec "l'éditeur PHP". Cliquez avec le bouton droit sur le fichier et sélectionnez ouvrir avec pour sélectionner l'éditeur de droite.

S'il s'avère que vous avez utilisé le mauvais éditeur, vous pouvez modifier l'association sous Préférences »Général» Types de contenu

1
Sietse

Faites un clic droit dans l'écran d'édition, allez à Java -> Editeur -> Assistant de contenu -> Avancé ... sélectionnez les propositions en conséquence

1
ddd

ATTENTION

Outre les solutions déjà mentionnées pour faire fonctionner toute l'aide de la saisie semi-automatique, il existe un autre problème: elle n'est peut-être pas activée.

Allez à Fenêtre> Propriétés puis à PHP> Éditeur> Code Assist (Java a une option similaire) et réglez "Activer l'activation automatique", de préférence avec un délai que vous voyez confortable (0 ms). Si le programme vous dérange soudainement si vous décidez de faire les choses pour vous sans invite (et faites-le mal), décochez la case "Insérer les propositions uniques automatiquement" et tout ira bien.

1
John

J'ai remarqué parfois que lorsque vous extrayez un projet de svn dans Eclipse (subversif ou subsclipe "extrayez un projet en tant que") et que même si vous extrayez un projet php, il supprime le fichier .project ou ce serait un fichier générique. projet. J'ai trouvé juste pour aller dans ce répertoire et supprimer le .project .settings/et .cach /

Ensuite, créez un nouveau projet php et pointez le répertoire où vous avez extrait les fichiers. Et vous devriez avoir le code complet et svn devrait être lié à votre repo.

0

J'ai résolu ce problème en activant l'indexeur Full C/C++ (Windows-> Propriétés -> C/C++ -> Indexeur) et en activant le bouton radio "Utiliser la configuration du bouton actif". Après cela, nettoyez et construisez tout.

Cela a fonctionné sur Eclipse CDT 3.4

0
Andre

Vérifiez la lib de votre projet. Il se peut que vous ayez inclus deux fichiers jar de ce type dans lesquels la même classe soit disponible ou qu’une classe du code puisse être référencée dans deux fichiers jar. Dans ce cas, Eclipse cesse également d’aider le code car il est totalement confus.

La meilleure façon de vérifier cela consiste à aller dans le fichier où assist ne fonctionne pas et à commenter toutes les importations, plutôt que d'ajouter les importations une par une et de vérifier à chaque importation si code-assist fonctionne ou non. Vous pouvez facilement trouver la classe avec des références en double. .

0
Mona

Si vous êtes venu ici pour chercher l'achèvement du code dans php Eclipse ne fonctionne pas, assurez-vous que votre projet est pris en charge en tant que projet php. Faites un clic droit sur le projet puis allez dans configurer -> Ajouter un support php. Si vous avez les bons paramètres pour l'assistant de code, cela devrait fonctionner instantanément. Parfois, les débutants comme moi Tweak autour avec les projets ou démarrer des projets comme propres et non pas comme php afin Eclipse ne sait pas comment traiter le projet.

0
Camilo

J'ai eu un problème que le chemin de génération était vide, donc aucune complétion de code pour aucun des fichiers que j'ai essayé de modifier. Assurez-vous de configurer correctement votre chemin de génération, en particulier si vous liez la source à partir d'un autre emplacement que l'espace de travail.

Comme le dossier Apache htdocs par exemple.

0
Vanja

Je devais faire un clic droit sur le projet dans l'explorateur PHP, allez dans "Chemin de construction PHP". C'était vide. J'ai cliqué sur "Ajouter un dossier", coché la case en regard du dossier racine de mon projet, cliqué sur "OK", puis à nouveau sur "OK".

Après cela, l'achèvement du code semblait fonctionner. Devrait juste fonctionner hors de la boîte si vous me demandez, mais peu importe.

0
strikernl