Eclipse Optimalkan Impor untuk Mencakup Impor Statis

411

Apakah ada cara agar Eclipse mencari impor statis secara otomatis? Misalnya, sekarang saya akhirnya ditingkatkan ke Junit 4, saya ingin dapat menulis:

assertEquals(expectedValue, actualValue);

tekan Ctrl+ Shift+ Odan minta Eclipse menambahkan:

import static org.junit.Assert.assertEquals;

Mungkin saya bertanya terlalu banyak.

Paul Croarkin
sumber

Jawaban:

572

Saya menggunakan Eclipse Europa, yang juga memiliki bagian preferensi Favorit:

Jendela> Preferensi> Java> Editor> Bantuan Konten> Favorit

Di tambang, saya memiliki entri berikut (saat menambahkan, gunakan "Jenis Baru" dan hilangkan .*):

org.hamcrest.Matchers.*
org.hamcrest.CoreMatchers.*
org.junit.*
org.junit.Assert.*
org.junit.Assume.*
org.junit.matchers.JUnitMatchers.*

Semua kecuali yang ketiga adalah impor statis. Dengan menjadikannya sebagai favorit, jika saya mengetik " assertT" dan menekan Ctrl+Space , Eclipse menawarkan assertThatsebagai saran, dan jika saya mengambilnya, itu akan menambahkan impor statis yang tepat ke file.

Joey Gibson
sumber
26
Ah - triknya adalah cukup menambahkan org.junit.Assertvia New Type..., .*itu kemudian implisit.
KomodoDave
5
Apakah benar bahwa impor otomatis Ctrl+Shift+otidak akan menambahkan impor yang diperlukan, dan sebenarnya Anda harus mengarahkan kursor dan memilih Add static import..opsi? Sayang sekali dialog daftar pemilihan impor otomatis yang biasa tidak ditampilkan.
KomodoDave
2
@ J.Stoever - Jika Anda menggunakan JUnit 4 Anda akan ingin menggunakan formulir Hamcrest:assertThat(value, is(expected));
David Harkness
2
Saya mencoba ini dengan Eclipse Kepler, tetapi tidak berhasil. Saya memulai ulang Eclipse juga. Tidak ada penyelesaian otomatis, tidak ada pilihan impor statis saat melakukan hovvering atau menekan CTRL + 1. Ada yang mengalami ini?
Magnilex
2
Ide Intellij mendukung ini di luar kotak. Gerhana yang memalukan tidak.
Neeraj
242

Jika Anda menyorot metode Assert.assertEquals(val1, val2)dan menekan Ctrl+ Shift+ M(Tambahkan Impor), itu akan menambahkannya sebagai impor statis, setidaknya di Eclipse 3.4.

Dave L.
sumber
11
cmd-shift-M pada mac
Joshua Goldberg
15
Dalam Eclipse Juno saya hanya berhasil membuatnya bekerja jika saya hanya menyoroti metode dan kemudian menggunakan CTRL + SHIFT + M.
ktulinho
5
Ini harus menjadi pemenang!
Clint Eastwood
Juga berfungsi untuk bidang statis AX -> X (AX hightly dan Ctrl + Shift + M). Terima kasih. Apa yang saya inginkan.
Eyad Ebrahim
5
Bekerja untukku di Luna. Pastikan kursor Anda berada di sisi kanan periode. Seandainya saya telah belajar tentang ini tahun lalu!
HDave
31

Eclipse 3.4 memiliki bagian Favorites di bawah Window-> Preferences-> Java-> Editor-> Content Assist

Jika Anda menggunakan org.junit.Assertbanyak, Anda mungkin menemukan beberapa nilai untuk menambahkannya di sana.

Bill Michell
sumber
21

Bukan apa yang saya inginkan, tetapi saya menemukan solusinya. Di Eclipse 3.4 (Ganymede), buka

Window-> Preferences-> Java-> Editor-> Content Assist

dan centang kotak centang untuk Gunakan impor statis (hanya 1,5 atau lebih tinggi) .

Ini tidak akan membawa impor pada Optimalkan Impor, tetapi jika Anda melakukan Perbaikan Cepat (CTRL + 1) pada baris itu akan memberi Anda opsi untuk menambahkan impor statis yang cukup baik.

Paul Croarkin
sumber
10

Dari Bantuan konten untuk impor statis

Untuk mendapatkan proposal bantuan konten untuk anggota statis, konfigurasikan daftar anggota statis favorit Anda di halaman Buka preferensi halaman Java > Editor > Content Assist > Favoritespreferensi.
Misalnya, jika Anda telah menambahkan java.util.Arrays.*atau org.junit.Assert.*ke daftar ini, maka semua metode statis jenis ini yang cocok dengan awalan penyelesaian akan ditambahkan ke daftar proposal.

Buka Window » Preferences » Java » Editor » Content Assist » Favorites

masukkan deskripsi gambar di sini

Sumit Singh
sumber
5

Untuk Tes SpringFramework, saya akan merekomendasikan untuk menambahkan di bawah ini juga

org.springframework.test.web.servlet.request.MockMvcRequestBuilders
org.springframework.test.web.servlet.request.MockMvcResponseBuilders
org.springframework.test.web.servlet.result.MockMvcResultHandlers
org.springframework.test.web.servlet.result.MockMvcResultMatchers
org.springframework.test.web.servlet.setup.MockMvcBuilders
org.mockito.Mockito

Ketika Anda menambahkan di atas sebagai Ketikkan baru secara otomatis menambahkan. * Ke paket.

Neeraj
sumber
3

Pintasan untuk impor statis: CTRL + SHIFT + M

Michael Hegner
sumber
2

Pilih konstanta, ketik

Ctrl + 1  (quick fix)

Pilih "Konversi ke impor statis." dari drop down.

"Perbaikan cepat" memiliki opsi meskipun itu bukan kesalahan.

teknopaul
sumber
1

Di Eclipse 4.9, Anda dapat mengimpor statis permintaan yang ada menggunakan perbaikan cepat.

Perbaikan cepat baru telah diterapkan yang memungkinkan pengguna untuk mengonversi akses bidang statis dan metode statis untuk menggunakan impor statis. Dimungkinkan juga untuk mengganti semua kejadian pada saat yang bersamaan.

Lebih detail di sini

Ankit Soni
sumber