Ich würde Seeschwalbe auf jeden Fall empfehlen. Ich habe es in der Mitte meines Praktikums (bei Node.js) im letzten Sommer entdeckt und es hat wunderbar mit company-modeund funktioniert js2-mode.
js2-modean sich ist ziemlich mächtig. Es kann das übliche M-.Springen innerhalb einer Datei die meiste Zeit verarbeiten und ternergänzt es gut durch das Springen zwischen Dateien / Modulen (insbesondere im Knoten-Ökosystem).
Der erste Schritt zur Verwendung von tern ist die Installation der Binärdatei. Ich persönlich habe npm verwendet, um dies zu tun:
$ sudo npm install -g tern
Dann in Emacs installieren. Der relevante Abschnitt von mir init.elist:
;;; tern
(package-require 'tern)
(add-hook 'js2-mode-hook (lambda () (tern-mode t)))
Der letzte Schritt besteht darin, eine .tern-projectDatei im Stammverzeichnis Ihres Projekts einzurichten . Für Node.js-Projekte verwende ich dies als Ausgangspunkt:
{
"loadEagerly": [
"src/**.js"
],
"plugins": {
"node": {
}
}
}
Wenn Sie verwenden company-mode, wird die Installation company-ternebenfalls dringend empfohlen:
(package-require 'company-tern)
(eval-after-load 'company
'(add-to-list 'company-backends 'company-tern))
Als Hinweis hatte ich einige Probleme mit dem Seeschwalbenserver, der im vergangenen Sommer (2014) gelegentlich starb. Das Ausführen der folgenden Fehler wurde konsistent behoben:
M-: (delete-process "Tern") RET
Ich konnte nicht genau herausfinden, was es verursachte, aber es passierte selten genug, um kaum mehr als ein Ärgernis zu sein.
Verweise:
ternStartseite steht "Das Referenzhandbuch sollte Ihre erste Anlaufstelle sein, um herauszufinden, wie Sie Tern verwenden. "" Zumindest sind sie ehrlich oO