IntelliJ: Verwenden Sie niemals Platzhalterimporte

624

Gibt es eine Möglichkeit, IntelliJ anzuweisen, niemals Platzhalterimporte zu verwenden? Unter 'Einstellungen> Codestil> Importe' kann ich sehen, dass Sie die 'Klassenanzahl' vor IntelliJ mithilfe von Platzhalterimporten angeben können. Kann ich diese Funktion jedoch deaktivieren, wenn ich niemals Platzhalterimporte verwenden möchte?

Ich habe versucht, -1 zu setzen oder das Feld leer zu lassen, aber das weist IntelliJ nur an, immer Platzhalterimporte zu verwenden. Natürlich wäre eine nicht so schöne Lösung, eine lächerlich hohe Zahl anzugeben, damit Sie nie auf Wildcard-Importe stoßen, aber ich hatte gehofft, dass es eine schönere Möglichkeit gibt, sie einfach auszuschalten.

digiarnie
quelle

Antworten:

844

Es liegt auf der Hand, warum Sie dies deaktivieren möchten: Um IntelliJ zu zwingen, jeden Import einzeln einzuschließen. Dies erleichtert es den Menschen, genau herauszufinden, woher die von Ihnen verwendeten Klassen stammen.

Klicken Sie in der Symbolleiste auf das Symbol "Schraubenschlüssel" für Einstellungen, öffnen Sie "Importe" unter "Codestil" und aktivieren Sie die Auswahl "Einzelklassenimport verwenden". Sie können Einträge unter "Pakete, mit denen importiert werden soll *" auch vollständig entfernen oder einen Schwellenwert angeben, der nur dann " *" verwendet, wenn die einzelnen Klassen aus einem Paket diesen Schwellenwert überschreiten.

Update: In IDEA 13 verhindert "Einzelklassenimport verwenden" keine Platzhalterimporte. Die Lösung ist, zu gehen Preferences( + ,auf macOS / Ctrl+ Alt+ Sunter Windows und Linux) > Editor > Code Style > Java > Imports tabSatz Class count to use import with '*'und Names count to use static import with '*'auf einen höheren Wert. Jeder Wert über 99 scheint gut zu funktionieren.

Duffymo
quelle
43
Für den Fall, dass dies jemand anderem die Verwirrung erspart: In meiner Begeisterung, Importe niemals zu reduzieren, habe ich eine unangemessen lange Folge von 9 in das Feld "Klassenanzahl verwenden ..." eingefügt, was dazu führte, dass IntelliJ 12 den Wert stillschweigend ignorierte. '9999' funktioniert gut.
PotataChipz
16
Gibt es wirklich keine Möglichkeit, Intellij 15 anzuweisen, niemals Platzhalterimporte zu verwenden? Ich meine ohne Angabe einer Klassenanzahl ??!
Stephen Hartley
2
Warum ist das Hinzufügen einer Klassenanzahl so bedrückend? Warum fragen Sie JetBrains nicht nach einer Verbesserung, wenn dies so abscheulich ist?
Duffymo
30
Es sieht so aus, als ob drei Neunen ausreichen sollten. Wenn Sie mehr als tausend Importe benötigen, würde ich sagen, dass Ihre Klasse überarbeitet werden sollte.
Duffymo
24
Ich kann nicht glauben, dass Programme ein Programm für Programmierer so programmiert haben, wie es programmiert ist. Dieser verwirrende Dialog ist in 2016.3 immer noch nicht behoben. Gibt es einen Fehler oder können wir irgendwo abstimmen?
Glenn Bech
322
  1. Datei \ Einstellungen ... ( Ctrl+ Alt+ S)
  2. Projekteinstellungen> Editor> Codestil> Java> Registerkarte Importe
  3. Stellen Sie die Klassenanzahl für den Import mit '*' auf 999 ein
  4. Stellen Sie die Anzahl der Namen so ein, dass der statische Import mit '*' auf 999 verwendet wird

Danach sollte Ihre Konfiguration folgendermaßen aussehen: Geben Sie hier die Bildbeschreibung ein

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

Mach Nhu Vy
quelle
39

Wie ein Dum-Dum konnte ich nicht herausfinden, warum keine dieser Antworten für meine Kotlin-Dateien funktionierte. java.util.*Wenn Ihnen dies passiert, dann:

Preferences
> Editor
> Code Style
> **Kotlin**
> Imports
> Packages to Use Import with '*'
-> Remove 'java.util.*'
Matt Klein
quelle
12
Du bist nicht der einzige Dum-Dum da draußen .. / :( :)
Marco
38

Geben Sie hier die Bildbeschreibung ein

IntelliJ IDEA 2018.1.4 (Ultimate Edition) wurde am 16. Mai 2018 erstellt

Kanke
quelle
2
Es lebe das dunkle Thema.
Zeitnehmer
28

Die obige Lösung hat bei mir nicht funktioniert. Ich musste 'Klassenanzahl' setzen, um den Import mit '*' 'auf einen hohen Wert zu setzen, z. B. 999.

Amio.io
quelle
6

Wenn eines der oben genannten Verfahren für Sie nicht funktioniert, sollten Sie überprüfen, ob Sie unter Einstellungen> Editor> Codestil> Java> Importe> Zu verwendende Pakete mit "*" Pakete haben.

Heungwoo
quelle
5

Dies gilt für "IntelliJ IDEA-2019.2.4" auf dem Mac.

  1. Navigieren Sie zu "IntelliJ IDEA-> Preferences-> Editor-> Code Style-> Kotlin".
  2. Im Abschnitt "Zu verwendende Pakete importieren mit ' ' auf dem Bildschirm wird" import java.util "aufgelistet. ""

Vor

  1. Klicken Sie auf eine beliebige Stelle in diesem Feld und löschen Sie diesen Eintrag.
  2. Klicken Sie auf Übernehmen und auf OK.

Nach

Neeraj Jain
quelle
2

Verknüpfung auf dem Mac: Drücken Sie Befehlstaste + Umschalttaste + A (Aktion) und geben Sie "Klassenanzahl für Import mit *" ein. Drücken Sie die Eingabetaste. Geben Sie dort eine höhere Zahl wie 999 ein

user2789973
quelle
0

Wenn Sie die Einstellungen nicht ändern möchten, können Sie die Importe optimieren, indem Sie unter Mac Strg + Wahltaste + o oder unter Windows / Linux Strg + Alt + o drücken. Dadurch werden alle Importe durch einzelne Importe in der aktuellen Datei ersetzt.

Alex Green
quelle
3
IntelliJ betrachtet das Reduzieren von Importen mit * standardmäßig als Optimierung.
Matthew Read
1
Ich bin nicht einverstanden mit "Sie möchten keine Einstellungen ändern", aber die Tastenkombination hat bei mir funktioniert!
Grizz