web-dev-qa-db-fra.com

La saisie semi-automatique Eclipse ne fonctionne pas dans certains fichiers Java

J'ai remarqué que la saisie semi-automatique ne fonctionne pas dans certains fichiers Java dans Eclipse . En outre, les fichiers dans lesquels la saisie semi-automatique ne fonctionne pas affichent un "J" creux comme icône du fichier Java. Les fichiers où l'auto-complétion fonctionne, icon for Java file est un "J" rempli

Je me demande si quelqu'un peut dire ce qui ne va pas tout à fait, pourquoi le changement d'icônes et pourquoi la surlignage automatique et la mise en évidence de la syntaxe est désactivée dans les fichiers avec une icône en forme de "J"?

Merci.

mettre à jour

En gros, je faisais ce que VonC avait suggéré, mais Eclipse n’a pas rafraîchi la raison pour laquelle j’ai pensé que la suggestion de VonC ne fonctionnait pas. Après un rafraîchissement, le problème a été résolu.

31
m_a_khan

Dans l'image suivante, MyClass.Java a une J creuse, car il est explicitement exclu des sources à générer:

alt text

Pourriez-vous vous rendre dans les propriétés du projet, section "Java Build Path", onglet "Source" et voir si un filtre d'exclusion a été défini?
Il est par exemple habituel de définir:

**/Test*.Java

exclure lors de la construction initiale d'une classe de test unitaire (lorsque vous avez un grand ensemble de sources et que vous ne souhaitez pas que les classes de test soient présentées lors de l'achèvement automatique, ou si vous ne souhaitez pas les prendre en compte lors des recherches de source).

11
VonC

Étant donné que cette question est très bien classée sur Google, je vais ajouter une solution pour résoudre le problème général de complétion automatique, et non pour les "creux en J". 

Essayez Fenêtre (Windows/Linux) ou Eclipse (OS X) -> Préférences -> Java -> Éditeur -> Assistant de contenu -> Restaurer les paramètres par défaut

également

Assistant de contenu -> Avancé -> Restaurer les paramètres par défaut

103
bronze

certaines réponses (valeurs par défaut de restauration) ci-dessus ne fonctionnent pas pour certaines installations d'ensembles d'ensembles à partir de janvier 2013. 

dans ces cas, allez à 

Fenêtre -> Préférences -> Java -> Editeur -> Assistant de contenu -> Avancé

et cochez les options Java PROPOSAL.

18
tony gil

Ceux avec un J creux ne font pas partie du chemin de génération du projet, ils ne peuvent donc pas participer au processus de construction normal et donc l'auto-complétion ne sera pas activée pour ces fichiers (et autres fonctionnalités de l'éditeur Java!). Vous devez ajouter les dossiers avec les fichiers Java à générer dans le chemin de construction à l'aide de la section "chemin source" des propriétés du projet. Vous pouvez y accéder en cliquant avec le bouton droit de la souris sur un projet dans l’Explorateur de packages/navigateur de projets et en accédant à Propriétés. Voir http://www.informit.com/articles/article.aspx?p=367962 pour plus de détails.

En outre, si les fichiers ne font pas partie d'un projet Java, vous devez créer un projet et y déplacer les fichiers ou les placer dans un projet existant. Encore une fois, assurez-vous que ces fichiers se trouvent dans un répertoire source, comme décrit dans cette section des propriétés du projet.

alt text

10
Chris Dennett

Je résous le problème en supprimant le fichier si la saisie semi-automatique ne fonctionne pas. Juste avant de copier le code source. Ensuite, j'ai recréé le fichier Java avec le même nom. Collé le code source précédemment copié.

2
widmore

En tant qu'additif à la réponse @VonC, assurez-vous que les fichiers Java font partie du modèle d'inclusion. J'ai eu un cas où un processus de construction créait le projet en n'incluant que les fichiers .js et non les fichiers Java:

Shows Eclipse Include without Java files

Vous pouvez modifier manuellement les inclusions via le bouton Modifier. Dans mon cas, un correctif a été apporté au script de construction pour le rendre permanent. 

1
Kraagenskul

Assurez-vous d'avoir la bonne structure de répertoires. Je crois que:

  • Icône Hollow J à côté du fichier Java - ne sera pas construite
  • Icône J normale à côté du fichier Java - est un fichier à construire.

J'ai commis une erreur en créant un artefact webapp. Par défaut, il ne crée pas de dossier pour Java, mais pour les ressources. J'y ai mis mes sources par erreur . Regardez - voyez la différence.

 enter image description here

0
Witold Kaczurba

Ni la restauration des valeurs par défaut, ni mon chemin de construction (le fichier se trouvait déjà dans le répertoire du paquet w/autres fichiers où l'auto-complétion fonctionnait) ont résolu le problème. Fix pour moi était de fermer le fichier explicitement (clic droit sur le nom du fichier dans l'onglet) et rouvrir. Fait intéressant, le simple redémarrage d'Eclipse n'a pas fonctionné non plus.

0
Dave Berry