IntelliJ IDEA
13 a commencé à présenter un comportement très étrange dans ma configuration locale.
À savoir, dans toute nouvelle classe Java
ajoutée à un projet existant, Code Completion
ne marche pas. Ainsi, après avoir déclaré une variable d'objet de tout type dans la nouvelle classe, puis tapé le nom de cette variable, suivi du point (.), Aucune suggestion n'est proposée pour l'une des méthodes de l'objet correspondant.
Par exemple, après avoir déclaré
File f = new File("/home");
taper f.
ne fait pas apparaître une liste de toutes les méthodes de la classe File
, pour en sélectionner une. En effet, lors de la frappe du point (.), Aucune suggestion n'apparaît et en bas à gauche (dans la barre d'état) de la fenêtre IDE, le message "Identifiant attendu. Identifiant attendu . "s'affiche. Parfois, une longue liste de méthodes totalement non pertinentes provenant de composants ou de bibliothèques non pertinents est proposée.
Étrangement, Code Completion
fonctionne comme prévu si la déclaration ci-dessus se produit dans l'une des classes existantes.
Ce comportement persiste après de nombreuses combinaisons de redémarrage de l'ordinateur, IDE redémarrage, réimportation de projet, fermeture/réouverture ou reconstruction.
Des idées?
Pour les abonnés, une chose qui m'a aidé (la saisie automatique ne montrait que les instances de champ de distribution, etc.) était que j'avais ouvert un module maven qui ne se connectait pas correctement à ses enfants (il avait une section de sous-modules commentée), donc IntelliJ a juste montré les fichiers maven Java en tant que fichiers "texte" avec un petit "j" dans leur icône dans le volet projet. Correction du fichier racine maven pom.xml pour inclure les répertoires enfants en tant que modules et voila, ils sont traités comme de vrais fichiers Java encore une fois, woot!
Assurez-vous de marquer tous vos répertoires source comme tels dans Fichier -> Structure du projet -> Modules.
Assurez-vous que vous n'êtes pas en mode d'économie d'énergie lorsque vous exécutez IntelliJ (Fichier [menu] -> Mode d'économie d'énergie coché ou non). Si le mode d'économie d'énergie est activé, IntelliJ ne s'exécutera pas tâches en arrière-plan, y compris l'achèvement du code .
J'utilise IntelliJ Ultimate 2017.1 et j'ai rencontré un problème similaire. Le projet Maven essayait d'utiliser les API Selenium, mais l'intellisense n'a pas fait apparaître de méthodes relatives pour moi.
Voici comment j'ai résolu mon problème:
Faites un clic droit sur le dossier src de votre projet
ChoisissezMark Directory As
Sélectionnez ensuiteSources Root
J'ai eu ce même problème et il était dû au fait que je n'avais pas de dossier marqué comme racine des sources.
Faites un clic droit sur votre répertoire src et sur Marquer le répertoire comme> Racine des sources.
Coupez le dossier .idea et les fichiers * .iml dans le dossier racine et collez-les ailleurs dans le projet. lorsque vous rouvrez le projet, l'importation automatique fonctionnera à nouveau comme par magie.
Il ne s'agit pas d'IntelliJ 13 mais d'une version communautaire 2017.1.1 plus récente. Ajouter cette réponse ici pour que les autres bénéficient d'une cause qui a ses racines dans les configurations Gradle.
Maintenant, dans mon cas aussi, les méthodes de saisie automatique, de génération de remplacement et d'autres fonctionnalités ne fonctionnaient pas. Ce que j'ai compris, c'est que dans les paramètres de mon projet, j'avais plusieurs configurations pour les modules gradle. Au moment où j'ai nettoyé le reste des modules et conservé le seul (à part le test) dont j'avais besoin pour ce projet, tous les comportements étaient revenus à la normale.
Toujours dans de tels cas de projets Gradle, n'oubliez pas de marquer tous vos dossiers racine sourceSet et les dossiers Source.
Modifier: si vous ne souhaitez pas créer plusieurs configurations par sourceSet et que vous importez un module Gradle, sur l'écran d'importation, vous devez également désactiver l'indicateur Créer un module pour per sourceSet. Sans cela, je devais supprimer les multiples modules après avoir importé le module .
Il pourrait y avoir 2 raisons à votre problème
Faites un clic droit sur le projet -> Ajouter un support de framework -> Sélectionnez Maven -> Cliquez sur OK
La seule chose qui a fonctionné pour moi a été de tuer IntelliJ (sur Ubuntu) et de le redémarrer.
J'étais confronté à ce problème lors du codage de l'extension client Eclipse-che. Les modules Eclipse che sont tous de type maven. Mon projet d'extension client était un module indépendant qui peut être compilé indépendamment du projet parent. Lorsque j'ai importé la même structure dans Intellij, mon projet d'extension côté client ne donnait pas de suggestions. Après avoir inclus le projet d'extension client au module parent (en l'ajoutant à pom.xml), les suggestions ont commencé à apparaître.
J'avais un projet groovy où le jdk n'était pas défini comme une dépendance, donc les classes jdk ne se complèteraient pas automatiquement.
Réparer:
Cela se passait pour moi dans un module qui n'était pas ajouté dans le pom du projet parent (ils l'ont fait exprès), c'est la raison pour laquelle j'ai fait un clic droit sur le pom.xml
du module qui a le problème et a cliqué sur le
maintenant la saisie semi-automatique est venue et en plus de cela, je peux voir le module comme un projet distinct dans l'onglet maven en haut à droite.
Supprimez votre package des Paramètres> Éditeur> Général> Importation automatique> Java> Exclure de l'importation et de l'achèvement
J'avais rencontré ce problème. Aucune des solutions de ce message n'a fonctionné, mais j'ai pu le corriger car j'ai accidentellement mis le package de mon projet dans les paramètres "Exclure de l'importation et de l'achèvement".