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.

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.


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)


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.*'

12
Vous n'êtes pas le seul dum-dum là-bas .. / :( :)
Marco


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.


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 "*".


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


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


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.


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
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.