Desativar as importações IntelliJ com estrela (pacote)?

194

Sou um usuário migrando do Eclipse IDE e estou aprendendo o caminho do IntelliJ IDEA 9.

Por padrão, o Eclipse IDE não usará uma importação com estrela até que você importe 99 classes do mesmo pacote, portanto, isso praticamente nunca acontece.

Mas o IntelliJ IDEA parece ansioso demais para fazê-lo, e não consigo descobrir como desabilitá-lo.

Por exemplo, depois de digitar JListem seguida, ALT+ ENTERa auto-import, todo o javax.swingpacote é importado em vez de apenas a classe que eu especificar.

Tentei excluir javax.swingdo preenchimento automático, mas isso impede que qualquer classe Swing seja sugerida, o que é contraproducente.

Iain Samuel McLean Elder
fonte
IntelliJ 9? A versão 16 está a caminho. Atualize para a edição da comunidade ou compre uma licença.
Duffymo 12/04/19

Respostas:

310

Você pode definir esta configuração aqui.

No IDEA 14 +, a sequência é:

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

Na versão mais antiga do IDEA:

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

O recurso não pode ser desativado. Você precisa configurá-lo para um valor alto, por exemplo, 99.

Na versão 2016.1.1, você também deve remover as linhas abaixo Packages to Use Import with '*', por exemploimport javax.*;

Colin Hebert
fonte
10
Agora ambos Class count to use import with '*'e Names count to use static import with '*'estão configurados 99para copiar o comportamento do Eclipse. Obrigado!
Iain Samuel McLean Elder
1
Parece funcionar se você definir esse valor como 0, ao invés de configuração para um número alto
Alasdair McLeay
3
O limiar precisa ser alto para mim. Se eu definir esse limite como 0, o recurso permanecerá ativado. Pior, acabo importando estrelas em todos os lugares (IDEA 2017.1).
18717 Andrew Andrew
3
0 me destruiu, reverteu e definiu 1000
CodeMonkey 3/18/18
Isso é específico do idioma. Lembre-se de definir isso no Kotlin se você estiver usando esse ou um projeto misto.
Steven Benitez
62

IDÉIA IntelliJ:

  • 14 & 15 & 16 EAP

    File > Settings... > Editor > Code Style > Java > Imports> na Generalárea, adicione um número grande para Class count to use import with '*':/Names count to use static import with '*':

    Arquivo> Configurações ...> Editor> Estilo do código> Java> Importações> Geral> Contagem de classes para usar a importação com '*'

IDÉIA IntelliJ:

  • 12 e 13

    File > Settings... > Code Style > Java > Imports> na Generalárea adicione um número grande paraClass count to use import with '*': Arquivo> Configurações ...> Estilo de código> Java> Importações> Geral> Contagem de classes para usar a importação com '*'

    PS: Javaé depois Code Styleno caminho.

ROMANIA_engineer
fonte
5
Não existe realmente uma maneira de dizer ao Intellij 15 para nunca usar importações estreladas? Quero dizer, sem especificar uma contagem de turmas ??!
Stephen Hartley
1
Isso é o que eu suspeitava - mas parece estranho!
Stephen Hartley
Isso é noz. Eu gosto de importações estreladas. Qual é a desvantagem de novo? Realmente. (Não em alguma situação hipotética onde há sobreposição de nomes.)
MarkHu
3
@ MarkHu Quando alguém visualiza seu código fora do escopo de um IDE (por exemplo, no Github), torna-se realmente difícil descobrir de que pacote uma classe vem.
Gili
1

E você também precisa remover os nomes dos pacotes da caixa de listagem "Pacotes para usar a importação com *" logo abaixo da caixa de texto " Contagem de classes para usar a importação com ". Swing e AWT estão lá por padrão, eu acho. Eu ainda estava tendo a importação do javax.swing. ; adicionado embora eu tivesse a contagem de turmas definida como 999. Usei o botão de sinal de menos para remover Swing e Awt da caixa e, em seguida, funcionou.

user3573712
fonte