Meskipun IDE saat ini sama kuatnya dengan "Binatang Tempur", Anda harus tahu bahwa tidak peduli seberapa kuat suatu IDE, itu tidak dapat menyediakan semua fungsi yang diinginkan pengguna, jadi IDE umumnya menyediakan antarmuka API bagi pengembang untuk memperluas sendiri. Mari kita ambil pengembangan plug-in di bawah Ide Intellij 12 sebagai contoh untuk melihat bagaimana meningkatkan IDE untuk memenuhi kebutuhan pengembang.
1. Buat proyek plugin
Jika tidak ada SDK opsional dalam modul SDK, lalu klik baru untuk menambahkan SDK baru, dan pilih lokasi instalasi IntelliJ di direktori.
Struktur proyek plugin yang dibuat sangat sederhana, tetapi ada file konfigurasi plugin.xml tambahan di bawah meta-INF, yang akan diperkenalkan nanti.
2. Biarkan plugin menyapa
2.1 Tambahkan komponen
Di direktori SRC, Anda dapat melihat bahwa ada tiga komponen yang tercantum dalam kotak dialog baru, sesuai dengan tiga level: aplikasi, proyek, dan komponen modul. Di sini kami memilih komponen aplikasi sebagai contoh, masukkan nama seperti MyComponent di kotak pop-up, dan kemudian komponen akan dibuat.
Kemudian tambahkan metode Sayhello ke MyComponent. Metode lain tidak diimplementasikan untuk saat ini. Kode sumber adalah sebagai berikut:
Paket com.cdai.plugin.rapidg; import com.intellij.openapi.components.applicationComponent; import com.intellij.openapi.ui.messages; impor org.jetbrains.annotations.notnull;/** komponen saya * Pengguna: CDAI * Tanggal: 13-13-11 ApplicationComponent {public myComponent () {} public void initcomponent () {// todo: masukkan logika inisialisasi komponen di sini} public void disposecomponent () {// todo: masukkan logika pembuangan komponen di sini} @notnull string publik getComponentName () {return "myComponent @notnull getComponent Public GetComponent () {MyComponent"; } public void wayshello () {// Tampilkan dialog dengan pesan pesan.showmessagealog ("Hello World!", "Sample", messes.getInformationicon ()); }} 2.2 Tambahkan tindakan
Sekarang Anda perlu menambahkan tindakan sehingga pengguna yang menggunakan plug-in kami dapat mengklik ke plug-in melalui menu atau metode lainnya.
Pekerjaan utama Action adalah membuat aplikasi dan objek MyComponent, kodenya adalah sebagai berikut:
Paket com.cdai.plugin.rapidg; import com.intellij.openapi.actionsystem.anaction; import com.intellij.openapi.actionsystem.anactionevent; import com.intellij.openapi.application.application; impor com.intellij.openapij.openapi.application.application; impor com.intellij.openapi.plapplication * Tanggal: 13-11-4 * Waktu: 10:16 AM */Kelas Publik Sayhelloaction memperluas anaction {@Override public void actionPerformed (anactionEvent e) {application application = applicationManager.getApplication (); MyComponent myComponent = application.getComponent (myComponent.class); myComponent.sayhello (); }}2.3 File Konfigurasi
Bahkan, saat membuat komponen dan tindakan dalam dua langkah pertama, Idea membantu kami secara otomatis mendaftarkannya di meta-inf/plugin.xml.
Komponen dan tindakan aplikasi yang baru saja kami tambahkan akan berada di bawah simpul <Plicle-Components>, dan plugin.xml pada akhirnya akan terlihat seperti berikut:
<Ide-Plugin Version = "2"> <dr> com.cdai.plugin.rapidg </dent> <name> plugin generator cepat CDAI </name> <version> 1.0 <version> <vendor email = "[email protected]" url = "http://www.yourcomper [coma" </coma "</cdai </coma </cdai </coma </cdai </cdai </cdai </cdai </cdai </cdai </cdai </coma" http: http://www.yourcomp Deskripsi singkat untuk plugin Anda di sini. <br> <small> Sebagian besar tag HTML dapat digunakan </small>]]> </cripence> <apt ganti-notes> <! [Cdata [Tambahkan catatan Ubah di sini. <br> <small> Sebagian besar tag HTML dapat digunakan </small>]> </change-notes> <Small-silakan lihat lihat http://confluence.jetbrains.net/display/ideadev/build+number+range untuk deskripsi-> <ide-version sejak-build = "107.105"/> <!-silakan lihat http:/confluence.jetbrains.net/display/ideadev/confibluence.jetbrains.net/displayper <idepluxplizy.jetbrains.net/displayper+ong+pibliBLy on how to target different products --> <!-- uncomment to enable plugin in all products <depends>com.intellij.modules.lang</depends> --> <application-components> <!-- Add your application components here --> <component> <implementation-class>com.cdai.plugin.rapidg.MyComponent</implementation-class> </component> </application-components> <project-components> <!-- Add your project components here --> </project-components> <actions> <!-- Add your actions here --> <action id="SayHello" text="Say Hello!"> <add-to-group group-id="WindowMenu" anchor="first"/> </action> </actions> <extensions defaultExtensionNs="com.intellij"> <!-- Add your extensions here --> </extensions> </ide-plugin>
3. Jalankan dan debug
Buka kotak dialog Run/Debug Configuration, tambahkan jenis plugin, dan gunakan ClassPath of Modul untuk memilih proyek sampel sekarang.
Saat berlari, Anda akan menemukan bahwa instance Ide IntelliJ baru akan dimulai. Setelah melalui proses konfigurasi startup lagi, Anda dapat melihat bahwa nama plugin adalah nilai di <name> di plugin.xml. Kami hanya dapat memilih plugin yang baru saja kami kembangkan dan abaikan yang lain. Sekarang kami dapat memicu plug-in kami melalui jendela-> Say Hello!, Dan efeknya adalah bahwa kotak dialog akan muncul.
Menariknya, beberapa deskripsi lain di plugin.xml akan ditampilkan kepada pengguna saat plugin macet, melaporkan masalah ke penulis plugin.
4. Panel Konfigurasi Plug-In
Banyak plug-in memiliki halaman konfigurasi dalam pengaturan. Sekarang izinkan saya memperkenalkan cara menambahkan halaman konfigurasi secara singkat ke plug-in kami.
Pertama, mari kita ubah kelas MyComponent. Perubahan utamanya adalah menerapkan antarmuka tambahan yang dapat dikonfigurasi. Ada metode komponen createC dalam antarmuka ini. Metode ini mengembalikan objek Swing JComponent dan akan ditampilkan di Pengaturan. Selain itu, cukup nyaman untuk menggunakan perancang desainer ayunan yang disediakan oleh Idea. Untuk menghindari dimodifikasi, gaya dan kode tata letak yang dihasilkan secara otomatis tidak akan dilihat oleh kita (tidak seperti netbeans), sehingga kode akhir sangat ringkas.
Ini adalah efek terakhir. Panel yang kami rancang dalam desainer tertanam di sebelah kanan.
5. Plugin dengan kotak dialog
Plug-in umum adalah mengklik item menu yang sesuai dari plug-in dan kotak dialog muncul (seperti mencari kelas di ruang kerja, mengkonfirmasi kode sebelum mengirimkan SVN, dll.). Bahkan, ini sangat sederhana. Metode implementasi adalah untuk membuat dialog terlebih dahulu, kemudian merancang tata letak kontrol dalam dialog di perancang ayunan, dan akhirnya menampilkan kotak dialog dalam aksi. Saya tidak akan mencantumkan kode spesifik, silakan mintalah saya untuk kebutuhan apa pun.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.