Ich entwickle auf OpenLayers.js. Mein Projektordner ist wie folgt strukturiert:Vim Javascript Autovervollständigung + Vorschläge?
project/
|-- OpenLayers.js
|-- map.html
|-- map.js
\-- etc
Wie man argumentieren kann, wenn ich eine neue Karte Projekt zu starten, ich espect Vorschläge von Vim, wie Sie den Code zu vervollständigen, Lesen JS Klassen aus allen Bibliotheken im Projekt Ordner (in diesem Fall nur OpenLayers.js
).
Z. B .:
map = new OpenLayers. --> <C-x><C-o>
map = new OpenLayers.Bounds
.Control
.Map
eine der vorgeschlagenen Klassen auswählen ich eine Art Auto-Vervollständigung erhalten sollte, wie in Aptana. Ich habe AutoComplPop installiert und ich bekomme ein nettes automatisches Menü, um Vorschläge auszuwählen, aber alle sind aus der aktuellen JS-Datei genommen.
Wie dem auch sei, ich habe richtig eingestellt Tagbar + node.js + jsctags und ich habe tags
Datei für mein Projekt generiert und hinzugefügt set tags=./tags,./../tags,./*/tags
meiner .vimrc
.
In diesem Fall ordnet Tagbar auch die aktuelle Datei-JS-Struktur zu, bietet jedoch keine Zuordnung der Klassen aus anderen Dateien an.
Eine weitere wahrscheinlich entsprechende Zeile in meinem .vimrc
:
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
Ich kämpfe Vorschläge Klasse und Unterklasse zu bekommen und jetzt ein wenig verwirrt mit allen Plugins/Stück Software verfügbar Ich erhalte.
Irgendwelche Hinweise? Danke Jungs :)
Ja, ich habe AutoComplPop eingerichtet, wie Sie in dem anderen Beitrag vorgeschlagen haben, und jetzt funktioniert das Laden von Klassen aus der Datei 'tags'. Das einzige peinliche Problem, das ich jetzt bekomme, ist mit Openlayers.js zu tun: 'jsctags OpenLayers.js' gibt mir einen peinlichen' Fehler: fixStm: 44, Zeile 261', also kann ich keine 'tags' Datei erstellen es. Aber das ist eine andere Geschichte. – fradeve
Diese Antwort schlägt möglicherweise vor, die erweiterte Autovervollständigung und Definitionen für Vim aufzugeben.Es gibt Plugins wie YouCompleteMe und Tern, die zu erfüllen scheinen, was das OP verlangt. –
@MaciejJankowski, 2012 gab es keine YCM oder Tern. – romainl