Désactiver les importations IntelliJ étoilées (package)?


194

Je suis un utilisateur Eclipse IDE en migration et j'apprends à me familiariser avec IntelliJ IDEA 9.

Par défaut, Eclipse IDE n'utilisera pas une importation étoilée tant que vous n'aurez pas importé 99 classes à partir du même package, donc cela ne se produit pratiquement jamais.

Mais IntelliJ IDEA semble trop désireux de le faire, et je ne peux pas trouver comment le désactiver.

Par exemple, après avoir tapé JListpuis ALT+ ENTERpour importer automatiquement, le javax.swingpackage entier est importé au lieu de la classe que je spécifie.

J'ai essayé d'exclure javax.swingde l'auto-complétion, mais cela empêche simplement toute classe Swing d'être suggérée, ce qui est contre-productif.


IntelliJ 9? La version 16 est en route. Passez à l'édition communautaire ou achetez une licence.
duffymo

Réponses:


310

Vous pouvez définir ce paramètre ici.

Dans IDEA 14 +, la séquence est:

Settings> Editor> Code Style> Java> Imports>Class count to use import with '*'

Dans l'ancienne version d'IDEA:

Settings-> Java-> Code Style-> Imports->Class count to use import with '*'

La fonction ne peut pas être désactivée. Vous devez le définir sur une valeur élevée, par exemple 99.

Dans la version 2016.1.1, vous devez également supprimer les lignes sous Packages to Use Import with '*', par exempleimport javax.*;


10
Maintenant, les deux Class count to use import with '*'et Names count to use static import with '*'sont configurés 99pour copier le comportement d'Eclipse. Merci!
Iain Samuel McLean Elder

1
Semble fonctionner si vous définissez cette valeur sur 0, plutôt que de définir un nombre élevé
Alasdair McLeay

3
Le seuil doit être élevé pour moi. Si je fixe ce seuil à 0, la fonction reste activée. Pire, je me retrouve avec des importations d'étoiles partout (IDEA 2017.1).
Andrew

3
0 m'a détruit, est revenu et l'a réglé à 1000
CodeMonkey

Ceci est spécifique à la langue, alors n'oubliez pas de le définir sous Kotlin si vous l'utilisez ou un projet mixte.
Steven Benitez le

62

IntelliJ IDEA:

  • 14 & 15 & 16 EAP

    File > Settings... > Editor > Code Style > Java > Imports> dans la Generalzone, ajoutez un grand nombre pour Class count to use import with '*':/Names count to use static import with '*':

    Fichier> Paramètres ...> Éditeur> Style de code> Java> Importations> Général> Nombre de classes pour utiliser l'importation avec '*'

IntelliJ IDEA:

  • 12 et 13

    File > Settings... > Code Style > Java > Imports> dans la Generalzone, ajoutez un grand nombre pourClass count to use import with '*': Fichier> Paramètres ...> Style de code> Java> Importations> Général> Nombre de classes pour utiliser l'importation avec '*'

    PS: Javaest après Code Styledans le chemin.


5
N'y a-t-il vraiment aucun moyen de dire à Intellij 15 de ne jamais utiliser les importations suivies? Je veux dire sans préciser le nombre de classes ??!
Stephen Hartley

1
C'est ce que je soupçonnais - mais semble étrange!
Stephen Hartley

C'est fou. J'aime les importations étoilés. Quel est le revers de la médaille? Vraiment. (Pas dans une situation hypothétique où il y a des noms qui se chevauchent.)
MarkHu

3
@MarkHu Quand quelqu'un regarde votre code en dehors de la portée d'un IDE (par exemple sur Github), il devient vraiment difficile de comprendre de quel paquet provient une classe.
Gili

1

Et vous devez également supprimer les noms de packages de la zone de liste "Packages à utiliser avec *" juste en dessous des zones de texte " Nombre de classes à utiliser avec ". Swing et AWT sont là par défaut je pense. J'étais toujours en train d'importer javax.swing. ; ajouté même si le nombre de classes était réglé sur 999. J'ai utilisé le bouton du signe moins pour retirer Swing et Awt de la boîte, puis cela a fonctionné.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.