Klik CTRL berfungsi di mana saja
CTRL-klik yang membawa Anda ke tempat objek diklik didefinisikan berfungsi di mana-mana - tidak hanya di kelas Java dan variabel dalam kode Java, tetapi dalam konfigurasi Spring (Anda dapat mengklik nama kelas, atau properti, atau nama kacang), di Hibernate (Anda dapat mengklik nama properti atau kelas, atau sumber daya yang disertakan), Anda dapat menavigasi dalam satu klik dari kelas Java ke tempat itu digunakan sebagai Spring atau Hibernate bean; mengklik JSP atau JSTL tag yang disertakan juga berfungsi, ctrl-klik pada variabel JavaScript atau fungsi membawa Anda ke tempat yang didefinisikan atau menampilkan menu jika ada lebih dari satu tempat, termasuk file .js lainnya dan kode JS dalam HTML atau JSP file.
Autocomplete untuk banyak bahasa
Hibernasi
Autocomplete dalam ekspresi HSQL, dalam konfigurasi Hibernate (termasuk kelas, properti, dan nama kolom DB), dalam konfigurasi Spring
<property name="propName" ref="<hit CTRL-SPACE>"
dan itu akan menunjukkan kepada Anda daftar kacang-kacangan yang dapat Anda masukkan ke dalam properti itu.
Jawa
Autocomplete sangat pintar dalam kode Java:
interface Person {
String getName();
String getAddress();
int getAge();
}
//---
Person p;
String name = p.<CTRL-SHIFT-SPACE>
dan itu menunjukkan Anda HANYA getName () , getAddress () dan toString () (hanya mereka yang kompatibel berdasarkan jenis) dan getName () adalah yang pertama dalam daftar karena memiliki nama yang lebih relevan. Versi terbaru 8 yang masih dalam EAP bahkan memiliki autocomplete yang lebih pintar.
interface Country{
}
interface Address {
String getStreetAddress();
String getZipCode();
Country getCountry();
}
interface Person {
String getName();
Address getAddress();
int getAge();
}
//---
Person p;
Country c = p.<CTRL-SHIFT-SPACE>
dan itu akan secara otomatis melengkapinya
Country c = p.getAddress().getCountry();
Javascript
Pelengkapan otomatis cerdas dalam JavaScript.
function Person(name,address) {
this.getName = function() { return name };
this.getAddress = function() { return address };
}
Person.prototype.hello = function() {
return "I'm " + this.getName() + " from " + this.get<CTRL-SPACE>;
}
dan itu menunjukkan HANYA getName () dan getAddress () , tidak peduli bagaimana mungkin mendapatkan * metode yang Anda miliki di objek JS lain di proyek Anda, dan ctrl-klik pada this.getName () membawa Anda ke tempat yang ini didefinisikan, bahkan jika ada beberapa fungsi getName () lainnya di proyek Anda.
HTML
Apakah saya menyebutkan lengkapi-otomatis dan mengklik-ctrl di path ke file, seperti <script src = "", <img src = "", dll?
Autocomplete dalam atribut tag HTML. Autocomplete dalam atribut style dari tag HTML, baik nama atribut maupun nilainya. Autocomplete di atribut kelas juga.
Ketik <div class = "<CTRL-SPACE> dan itu akan menunjukkan kepada Anda daftar kelas CSS yang ditentukan dalam proyek Anda. Pilih satu, ctrl-klik dan Anda akan diarahkan ke tempat itu didefinisikan.
Higlighting bahasa sendiri mudah
Versi terbaru memiliki suntikan bahasa, sehingga Anda dapat menyatakan bahwa tag JSTL khusus Anda biasanya berisi JavaScript dan akan menyorot JavaScript di dalamnya.
<ui:obfuscateJavaScript>function something(){...}</ui:obfuscateJavaScript>
Pencarian yang diindeks di semua proyek.
Anda dapat menggunakan Temukan Penggunaan dari semua kelas atau metode Java dan itu akan menemukan di mana ia digunakan termasuk tidak hanya kelas Java tetapi Hibernate, Spring, JSP dan tempat-tempat lain. Ubah nama Metode refactoring mengganti nama metode tidak hanya di kelas Java tetapi di mana saja termasuk komentar (tidak dapat memastikan apakah string dalam komentar benar-benar nama metode sehingga ia akan bertanya). Dan itu hanya akan menemukan metode Anda bahkan jika ada metode kelas lain dengan nama yang sama. Integrasi kontrol sumber yang baik (apakah SVN mendukung daftar perubahan? IDEA mendukung mereka untuk setiap kontrol sumber), kemampuan untuk membuat patch dengan perubahan Anda sehingga Anda dapat mengirim perubahan Anda ke anggota tim lain tanpa melakukan itu.
Peningkatan debugger
Ketika saya melihat HashMap di jendela arloji debugger, saya melihat tampilan logis - kunci dan nilai, terakhir kali saya melakukannya di Eclipse menampilkan entri dengan hash dan bidang berikutnya - Saya tidak benar-benar men- debug HashMap , saya hanya ingin melihat isinya.
Validasi konfigurasi Spring & Hibernate
Ini memvalidasi konfigurasi Spring dan Hibernate tepat ketika Anda mengeditnya, jadi saya tidak perlu me-restart server untuk mengetahui bahwa saya salah mengeja nama kelas, atau menambahkan parameter konstruktor sehingga cfg Spring saya tidak valid.
Terakhir kali saya mencoba, saya tidak bisa menjalankan Eclipse di Windows XP x64.
dan itu akan menyarankan Anda person.name atau person.address . Ctrl-klik pada person.name dan itu akan menavigasi Anda ke getName () metode kelas Person .
Ketik Pattern.compile("");
put \\ di sana, tekan CTRL-SPACE dan lihat petunjuk bermanfaat tentang apa yang dapat Anda masukkan ke dalam ekspresi reguler Anda. Anda juga dapat menggunakan injeksi bahasa di sini - tentukan metode Anda sendiri yang mengambil parameter string, nyatakan dalam dialog opsi IntelliLang bahwa parameter Anda adalah ekspresi reguler - dan itu akan memberi Anda lengkapi otomatis di sana. Tak perlu dikatakan itu menyoroti ekspresi reguler yang salah.
Fitur lainnya
Ada beberapa fitur yang saya tidak yakin ada di Eclipse atau tidak. Tetapi setidaknya setiap anggota tim kami yang menggunakan Eclipse, juga menggunakan beberapa alat penggabungan untuk menggabungkan perubahan lokal dengan perubahan dari kontrol sumber, biasanya WinMerge. Saya tidak pernah membutuhkannya - menggabungkan IDEA sudah cukup bagi saya. Dengan 3 klik saya dapat melihat daftar versi file dalam kontrol sumber, dengan 3 klik lagi saya dapat membandingkan versi sebelumnya, atau sebelumnya dan saat ini dan mungkin bergabung.
Hal ini memungkinkan untuk menentukan bahwa saya memerlukan semua. Jar di dalam WEB-INF\lib
folder, tanpa memilih setiap file secara terpisah, jadi ketika seseorang melakukan .jar baru ke dalam folder itu mengambilnya secara otomatis.
Disebutkan di atas mungkin 10% dari apa yang dilakukannya. Saya tidak menggunakan Maven, Flex, Swing, EJB dan banyak hal lainnya, jadi saya tidak tahu bagaimana itu membantu mereka. Tapi itu benar.