IntelliJ: n'utilisez jamais d'importations génériques

625

Existe-t-il un moyen de dire à IntelliJ de ne jamais utiliser les importations de caractères génériques? Sous «Paramètres> Style de code> Importations», je peux voir que vous pouvez spécifier le «nombre de classes» avant IntelliJ à l'aide d'importations génériques. Cependant, si je ne souhaite jamais utiliser les importations de caractères génériques, puis-je désactiver cette fonctionnalité?

J'ai essayé de mettre -1 ou de laisser le champ vide, mais cela indique simplement à IntelliJ de toujours utiliser les importations génériques. Évidemment, une solution pas si sympa serait de mettre un nombre ridiculement élevé pour que vous ne rencontriez jamais d'importations génériques, mais j'espérais qu'il y avait une meilleure façon de le désactiver.

digiarnie
la source

Réponses:

845

La raison pour laquelle vous souhaitez désactiver cela est évidente: pour forcer IntelliJ à inclure chaque importation individuellement. Cela permet aux gens de comprendre plus facilement d'où viennent les classes que vous utilisez.

Cliquez sur l'icône Paramètres "clé à molette" dans la barre d'outils, ouvrez "Importations" sous "Style de code" et cochez la sélection "Utiliser l'importation d'une seule classe". Vous pouvez également supprimer complètement les entrées sous "Packages avec *lesquels importer ", ou spécifier une valeur de seuil qui utilise uniquement le " *" lorsque les classes individuelles d'un package dépassent ce seuil.

Mise à jour: dans IDEA 13 "Utiliser l'importation d'une seule classe" n'empêche pas les importations de caractères génériques. La solution est d'aller à Preferences( + ,sous Mac OS / Ctrl+ Alt+ Ssous Windows et Linux) > Editor > Code Style > Java > Imports tabensemble Class count to use import with '*'et Names count to use static import with '*'à une valeur plus élevée. Toute valeur supérieure à 99 semble fonctionner correctement.

duffymo
la source
43
Au cas où cela épargnerait la confusion à quelqu'un d'autre: dans mon enthousiasme à ne jamais réduire les importations, j'ai mis une chaîne déraisonnablement longue de 9 dans le champ `` Nombre de classes à utiliser ... '', ce qui a amené IntelliJ 12 à ignorer silencieusement la valeur. '9999' fonctionne très bien.
PotataChipz
16
N'y a-t-il vraiment aucun moyen de dire à Intellij 15 de ne jamais utiliser les importations de caractères génériques? Je veux dire sans préciser le nombre de classes ??!
Stephen Hartley
2
Pourquoi l'ajout d'un décompte de classes est-il si oppressant? Pourquoi ne pas demander à JetBrains une amélioration si c'est si odieux?
duffymo
30
On dirait que trois neuf devraient suffire. Si vous avez besoin de plus d'un millier d'importations, je dirais que votre classe devrait être refactorisée.
duffymo
24
Je ne peux pas croire que les programmes aient programmé un programme pour les programmeurs comme cela est programmé. Cette boîte de dialogue déroutante n'est toujours pas corrigée en 2016.3, y a-t-il un bug pour cela, ou quelque part où nous pouvons voter?
Glenn Bech
322
  1. Fichier \ Paramètres ... ( Ctrl+ Alt+ S)
  2. Paramètres du projet> Éditeur> Style de code> Java> onglet Importations
  3. Définissez le nombre de classes pour utiliser l'importation avec '*' sur 999
  4. Définissez le nombre de noms pour utiliser l'importation statique avec «*» à 999

Après cela, votre configuration devrait ressembler à: entrez la description de l'image ici

(Sur IntelliJ IDEA 13.x, 14.x, 15.x, 2016.x, 2017.x)

Do Nhu Vy
la source
40

Comme un dum-dum, je ne pouvais pas comprendre pourquoi aucune de ces réponses ne fonctionnait pour mes fichiers Kotlin java.util.*, donc si cela vous arrive alors:

Preferences
> Editor
> Code Style
> **Kotlin**
> Imports
> Packages to Use Import with '*'
-> Remove 'java.util.*'
Matt Klein
la source
12
Vous n'êtes pas le seul dum-dum là-bas .. / :( :)
Marco
38

entrez la description de l'image ici

IntelliJ IDEA 2018.1.4 (Ultimate Edition) construit le 16 mai 2018

Kanke
la source
2
vive le thème sombre.
chronométreur
28

La solution ci-dessus ne fonctionnait pas pour moi. J'ai dû définir 'count de classe pour utiliser import avec' * '' à une valeur élevée, par exemple 999.

Amio.io
la source
6

Si aucun des éléments ci-dessus ne vous convient, il convient de vérifier si vous avez des packages sous Préférence> Editeur> Style de code> Java> Importations> Packages à utiliser Importer avec "*".

Heungwoo
la source
5

Cela s'applique à "IntelliJ IDEA-2019.2.4" sur Mac.

  1. Accédez à "IntelliJ IDEA-> Préférences-> Editeur-> Style de code-> Kotlin".
  2. La section "Packages à utiliser Importer avec" à l'écran répertorie "import java.util. "

Avant

  1. Cliquez n'importe où dans cette case et effacez cette entrée.
  2. Appuyez sur Appliquer et OK.

Après

Neeraj Jain
la source
2

Raccourci faisant cela sur Mac: Appuyez sur commande + Maj + A (Action) et tapez "nombre de classes pour utiliser l'importation avec *" Appuyez sur Entrée. Entrez un nombre plus élevé comme 999

user2789973
la source
0

Si vous ne souhaitez pas modifier les préférences, vous pouvez optimiser les importations en appuyant sur Ctrl + Option + o sur Mac ou Ctrl + Alt + o sur Windows / Linux et cela remplacera toutes les importations par des importations uniques dans le fichier actuel.

Alex Green
la source
3
IntelliJ considère que la réduction des importations avec * est une optimisation, par défaut.
Matthew Read
1
Je ne suis pas d'accord avec "vous ne voulez pas changer les préférences" mais le raccourci clavier a fonctionné pour moi!
Grizz