Disabilitare le importazioni (pacchetto) speciali IntelliJ?


197

Sono un utente IDE di Eclipse che sta migrando e sto imparando a percorrere IntelliJ IDEA 9.

Per impostazione predefinita, Eclipse IDE non utilizzerà un'importazione speciale fino a quando non si importano 99 classi dallo stesso pacchetto, quindi praticamente non accade mai.

IntelliJ IDEA sembra fin troppo entusiasta di farlo e non riesco a capire come disabilitarlo.

Ad esempio, dopo aver digitato JListquindi ALT+ ENTERper l'importazione automatica, l'intero javax.swingpacchetto viene importato anziché solo la classe specificata.

Ho provato ad escludere javax.swingdal completamento automatico, ma questo impedisce a qualsiasi classe Swing di essere suggerita, il che è controproducente.


IntelliJ 9? La versione 16 è in arrivo. Esegui l'upgrade all'edizione della community o acquista una licenza.
duffymo,

Risposte:


312

Puoi impostare questa impostazione qui.

In IDEA 14 + la sequenza è:

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

Nella versione precedente di IDEA:

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

La funzione non può essere disabilitata. È necessario impostarlo su un valore elevato, ad esempio 99.

Nella versione 2016.1.1 Dovresti anche rimuovere le righe sottostanti Packages to Use Import with '*', ad esimport javax.*;


10
Ora entrambi Class count to use import with '*'e Names count to use static import with '*'sono impostati 99per copiare il comportamento di Eclipse. Grazie!
Iain Samuel McLean Elder,

1
Sembra funzionare se si imposta questo valore su 0, anziché impostarlo su un numero alto
Alasdair McLeay

3
La soglia deve essere alta per me. Se imposto tale soglia su 0, la funzione rimane abilitata. Peggio ancora, finisco con l'importazione di stelle ovunque (IDEA 2017.1).
Andrew,

3
0 mi ha distrutto, ripristinato e impostato su 1000
CodeMonkey il

Questo è specifico della lingua, quindi ricordati di impostarlo sotto Kotlin se stai usando quello o un progetto misto.
Steven Benitez,

62

IntelliJ IDEA:

  • 14 e 15 e 16 EAP

    File > Settings... > Editor > Code Style > Java > Imports> Generalnell'area aggiungi un numero grande per Class count to use import with '*':/Names count to use static import with '*':

    File> Impostazioni ...> Editor> Stile codice> Java> Importazioni> Generale> Conteggio classi per utilizzare l'importazione con '*'

IntelliJ IDEA:

  • 12 e 13

    File > Settings... > Code Style > Java > Imports> Generalnell'area aggiungi un numero grande perClass count to use import with '*': File> Impostazioni ...> Stile codice> Java> Importazioni> Generale> Conteggio classi per utilizzare l'importazione con '*'

    PS: Javaè dopo Code Stylenel percorso.


5
Non c'è davvero modo di dire a Intellij 15 di non usare mai le importazioni speciali? Voglio dire senza specificare un conteggio delle classi ??!
Stephen Hartley,

1
Questo è quello che sospettavo, ma sembra strano!
Stephen Hartley,

Questo è nocciola. Mi piacciono le importazioni speciali. Qual è di nuovo il rovescio della medaglia? Veramente. (Non in una situazione ipotetica in cui vi sono nomi sovrapposti.)
MarkHu

3
@MarkHu Quando qualcuno visualizza il tuo codice al di fuori dell'ambito di un IDE (ad esempio su Github), diventa davvero difficile capire da quale pacchetto provenga una classe.
Gili

1

E devi anche rimuovere i nomi dei pacchetti dalla casella di riepilogo "Pacchetti da utilizzare per l'importazione con *" proprio sotto la casella di testo "Conteggio delle classi per utilizzare l'importazione con ". Swing e AWT sono lì di default penso. Stavo ancora importando javax.swing. ; aggiunto anche se avevo il conteggio delle classi impostato su 999. Ho usato il pulsante segno meno per rimuovere Swing e Awt dalla scatola e poi ha funzionato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.