Saya benar-benar akan merekomendasikan barang. Saya menemukannya di pertengahan magang saya (bekerja di Node.js) musim panas lalu, dan itu bekerja dengan sangat baik dengan company-modedan js2-mode.
js2-modedengan sendirinya cukup kuat. Ia dapat menangani M-.lompatan yang biasa dalam suatu file sebagian besar waktu, dan ternmelengkapinya dengan baik dengan lompatan antar-file / modul (khususnya dalam ekosistem node).
Langkah pertama untuk menggunakan tern adalah menginstal biner. Saya pribadi menggunakan npm untuk melakukannya:
$ sudo npm install -g tern
Kemudian instal di Emacs. Bagian yang relevan dari saya init.eladalah:
;;; tern
(package-require 'tern)
(add-hook 'js2-mode-hook (lambda () (tern-mode t)))
Langkah terakhir adalah mengatur .tern-projectfile di direktori root proyek Anda . Untuk proyek Node.js, saya menggunakan ini sebagai titik awal:
{
"loadEagerly": [
"src/**.js"
],
"plugins": {
"node": {
}
}
}
Jika Anda menggunakan company-mode, maka instal company-ternjuga sangat dianjurkan:
(package-require 'company-tern)
(eval-after-load 'company
'(add-to-list 'company-backends 'company-tern))
Sebagai catatan, saya memang memiliki beberapa masalah dengan server tiga kali sekarat musim panas lalu (2014). Menjalankan yang berikut memperbaikinya secara konsisten:
M-: (delete-process "Tern") RET
Saya tidak dapat menemukan dengan tepat apa yang menyebabkannya, tetapi itu jarang terjadi sehingga tidak lebih dari gangguan.
Referensi:
ternhalaman beranda tertulis "Manual referensi harus menjadi perhentian pertama Anda untuk mencari tahu bagaimana cara menggunakan Tern. " Setidaknya mereka oO jujur