@ Doug jawaban agak ketinggalan zaman dan fokusnya adalah pada perluasan kode dengan menggunakan cuplikan yang telah ditentukan.
Saya pikir pertanyaan OP adalah tentang Intellisense (nama metode lengkap otomatis kelas, misalnya).
hippie expand dulu populer, penganalisis sintaks adalah tag emacs . Jadi ia mendukung semua bahasa yang didukung ctag (termasuk C ++, Java). Tetapi hasilnya tidak sempurna karena ctag hanya menggunakan ekspresi reguler untuk menganalisis kode. Lihat init-hippie-expand.el saya untuk detailnya. Anda bisa mulai dengan memeriksa nilaihippie-expand-try-functions-list
pelengkapan otomatis adalah yang modern dengan UI mewah (menu dropdown, bahkan di jendela konsol). Jika Anda menggunakan dentang sebagai backend. Intellisense jauh lebih baik. Untuk membuat dentang berfungsi, Anda perlu menginstal lengkapi-otomatis yang merupakan plugin lengkapi-otomatis. Ini hanya mendukung dukungan dentang bahasa (C / C ++ / Obj-C). Seperti yang ditunjukkan Sylvain Benner , Anda dapat menggunakan emacs-eclim sebagai java parsing back end yang sebenarnya memanggil executable of eclipse. Jadi pelengkapan otomatis dapat mendukung java. Lihat init-auto-complete.el saya untuk detailnya.
semantic menyediakan UI dan mesin parsing ujung belakang. Itu lambat. UI dropdown OK tetapi membutuhkan X window. Hasil intellisense lebih baik daripada ctags. Dan dokumentasinya terlalu culun untukku. Lihat init-semantic.el untuk detailnya.
modus perusahaan mirip dengan pelengkapan otomatis, perbedaannya adalah paket semuanya menjadi satu bundel. Misalnya, pengembang C ++ hanya perlu menginstal mode perusahaan (lengkapi-otomatis memerlukan plugin pihak ketiga). Perbedaan UI lainnya adalah perusahaan akan menunjukkan kandidat secara otomatis . Jadi, Anda menekan lebih sedikit tombol di perusahaan. Dimungkinkan untuk melakukan hal yang sama dalam pelengkapan otomatis setelah penyesuaian.
Singkatnya, pelengkapan otomatis, perusahaan adalah dua pilihan paling populer. Semantik dan hippie-ekspansi juga disambut tetapi kurang digunakan. Lainnya terlalu sepele untuk disebutkan dan fitur mereka sudah dibahas oleh empat besar. Misalnya, lengkapi-otomatis dapat menggunakan yasnippet sebagai sumber input (lengkapi-otomatis berikan UI, tetapi kandidat sebenarnya dihasilkan oleh yasnippet di belakang).
Saya sarankan untuk menggunakan pelengkap otomatis atau perusahaan sebagai plugin penyelesaian kode utama dan semantik atau hippie-expand sebagai plugin pelengkap .
Saya menggunakan mode perusahaan dan memperluas hippie karena,
Mode perusahaan sekarang (tahun 2017) lebih aktif dipertahankan daripada pelengkapan otomatis dan memiliki lebih banyak plugin pihak ketiga (misalnya, plugin lateks)
hippie-expand tidak terlalu aktif tetapi tidak menempati TAB
kunci yang menggunakan mode perusahaan / semantik / pelengkap otomatis
Jika Anda menggunakan mode perusahaan untuk C ++ / Java, Anda mungkin ingin memodifikasi company-backends
.
Beberapa tips tentang mode perusahaan,
Anda mungkin perlu mengubah nilai company-backends
. Sebagai contoh, anggaplah nilainya (company-eclim company-semantic company-clang (company-dabbrev-code company-gtags company-etags company-keywords))
. Maka jika company-eclim
bisa mendapatkan kandidat yang tidak nol, company
anggap Anda sedang menulis java, jadi TIDAK akan menjalankan backends setelahnya company-eclim
.
Sekarang mari kita lihat (company-dabbrev-code company-gtags company-etags company-keywords)
. Keempat backend ini akan digunakan bersama. Misalnya, bahkan setelah company-dabbrev-code
berhasil menjemput kandidat yang tidak nol, tiga backend lainnya masih dieksekusi.
Di dunia nyata, seringkali perlu menyesuaikan kembali urutan backend atau menambahkan backend baru ( company-rtags
, misalnya).
complete.el
mencoba perpustakaan standar . Ini sangat tua dan sedikit diketahui, tetapi jenis penyelesaian in-buffer yang disediakannya bisa bermanfaat.M-x find-library complete
, lalu baca Komentar dalam file.