IntelliJ: Jangan pernah gunakan impor wildcard

624

Apakah ada cara untuk memberi tahu IntelliJ agar tidak menggunakan impor wildcard? Di bawah 'Pengaturan> Gaya Kode> Impor', saya dapat melihat bahwa Anda dapat menentukan 'jumlah kelas' sebelum IntelliJ menggunakan impor wildcard. Namun, jika saya tidak pernah ingin menggunakan impor wildcard, bisakah saya mematikan fungsi ini?

Saya telah mencoba menempatkan -1 atau membiarkan bidang itu kosong tetapi itu hanya memberitahu IntelliJ untuk selalu menggunakan impor wildcard. Jelas solusi yang tidak terlalu bagus adalah dengan menempatkan angka yang sangat tinggi sehingga Anda tidak pernah menemukan impor wildcard tapi saya berharap ada cara yang lebih baik untuk mematikannya.

digiarnie
sumber

Jawaban:

844

Sudah jelas mengapa Anda ingin menonaktifkan ini: Untuk memaksa IntelliJ untuk memasukkan setiap impor secara individual. Ini memudahkan orang untuk mencari tahu dari mana asal kelas yang Anda gunakan.

Klik ikon Pengaturan "kunci pas" pada bilah alat, buka "Impor" di bawah "Gaya Kode", dan periksa pilihan "Gunakan impor kelas tunggal". Anda juga dapat menghapus entri di bawah "Paket untuk menggunakan impor dengan *", atau menentukan nilai ambang yang hanya menggunakan " *" ketika masing-masing kelas dari suatu paket melebihi ambang itu.

Pembaruan: di IDEA 13 "Gunakan impor kelas tunggal" tidak mencegah impor wildcard. Solusinya adalah pergi ke Preferences( + ,pada macOS / Ctrl+ Alt+ Spada Windows dan Linux) > Editor > Code Style > Java > Imports tabmengatur Class count to use import with '*'dan Names count to use static import with '*'ke nilai yang lebih tinggi. Nilai lebih dari 99 tampaknya berfungsi dengan baik.

Duffymo
sumber
43
Kalau-kalau itu menyelamatkan orang lain dari kebingungan: Dalam antusiasme saya untuk tidak pernah runtuh impor, saya menempatkan string panjang 9 yang tidak masuk akal dalam bidang 'jumlah kelas untuk digunakan ...', dan ini menyebabkan IntelliJ 12 diam-diam mengabaikan nilai. '9999' berfungsi dengan baik.
PotataChipz
16
Apakah benar-benar tidak ada cara untuk memberitahu Intellij 15 untuk tidak menggunakan impor wildcard? Maksud saya tanpa menentukan jumlah kelas ??!
Stephen Hartley
2
Mengapa menambahkan jumlah kelas sangat opresif? Mengapa tidak meminta JetBrains untuk peningkatan jika ini sangat najis?
duffymo
30
Sepertinya tiga sembilan seharusnya cukup. Jika Anda membutuhkan lebih dari seribu impor, saya katakan kelas Anda harus di refactored.
duffymo
24
Tidak percaya program memprogram program untuk pemrogram seperti ini diprogram. Dialog yang membingungkan ini masih belum diperbaiki pada 2016.3, apakah ada bug untuknya, atau di suatu tempat kita dapat memilih?
Glenn Bech
322
  1. File \ Pengaturan ... ( Ctrl+ Alt+ S)
  2. Pengaturan Proyek> Editor> Gaya Kode> Java> tab Impor
  3. Setel jumlah Kelas untuk menggunakan impor dengan '*' ke 999
  4. Tetapkan Jumlah nama untuk menggunakan impor statis dengan '*' ke 999

Setelah ini, konfigurasi Anda akan terlihat seperti: masukkan deskripsi gambar di sini

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

Apakah Nhu Vy
sumber
40

Seperti dum-dum saya tidak tahu mengapa tidak ada jawaban ini yang berfungsi untuk file Kotlin saya java.util.*, jadi jika ini terjadi pada Anda, maka:

Preferences
> Editor
> Code Style
> **Kotlin**
> Imports
> Packages to Use Import with '*'
-> Remove 'java.util.*'
Matt Klein
sumber
12
Kau bukan satu-satunya orang bodoh di luar sana .. / :( :)
Marco
38

masukkan deskripsi gambar di sini

IntelliJ IDEA 2018.1.4 (Ultimate Edition) dibangun pada 16 Mei 2018

Kanke
sumber
2
berumur panjang, tema gelap.
pencatat waktu
28

Solusi di atas tidak berhasil untuk saya. Saya harus menetapkan 'jumlah kelas untuk menggunakan impor dengan' * '' ke nilai yang tinggi, misalnya 999.

Amio.io
sumber
6

Jika tidak ada di atas yang berfungsi untuk Anda, maka ada baiknya untuk memeriksa apakah Anda memiliki paket di bawah Preferensi> Editor> Gaya Kode> Java> Impor> Paket untuk Menggunakan Impor dengan "*"

Heungwoo
sumber
5

Ini berlaku untuk "IntelliJ IDEA-2019.2.4" di Mac.

  1. Arahkan ke "IntelliJ IDEA-> Preferences-> Editor-> Code Style-> Kotlin".
  2. "Paket untuk menggunakan Impor dengan ' ' pada layar akan mencantumkan" import java.util. "

Sebelum

  1. Klik di mana saja di dalam kotak itu dan kosongkan entri itu.
  2. Tekan Apply dan OK.

Setelah

Neeraj Jain
sumber
2

Shortcut melakukan ini di Mac: Tekan perintah + Shift + A (Tindakan) dan ketik "jumlah kelas untuk menggunakan impor dengan *" Tekan Enter. Masukkan nomor yang lebih tinggi di sana seperti 999

pengguna2789973
sumber
0

Jika Anda tidak ingin mengubah preferensi, Anda dapat mengoptimalkan impor dengan menekan Ctrl + Option + o di Mac atau Ctrl + Alt + o di Windows / Linux dan ini akan menggantikan semua impor dengan impor tunggal dalam file saat ini.

Alex Green
sumber
3
IntelliJ menganggap collapsing import dengan * sebagai optimasi, secara default.
Matius Baca
1
Saya tidak setuju dengan "Anda tidak ingin mengubah preferensi" tetapi pintasan keyboard berfungsi untuk saya!
Grizz