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-mode
und funktioniert js2-mode
.
js2-mode
an sich ist ziemlich mächtig. Es kann das übliche M-.
Springen innerhalb einer Datei die meiste Zeit verarbeiten und tern
ergä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.el
ist:
;;; tern
(package-require 'tern)
(add-hook 'js2-mode-hook (lambda () (tern-mode t)))
Der letzte Schritt besteht darin, eine .tern-project
Datei 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-tern
ebenfalls 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:
tern
Startseite steht "Das Referenzhandbuch sollte Ihre erste Anlaufstelle sein, um herauszufinden, wie Sie Tern verwenden. "" Zumindest sind sie ehrlich oO