2012-08-02 15 views
5

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 :)

Antwort

-1

Ihre Erwartungen sind ein bisschen zu hoch. Vim ist keine IDE wie Aptana und die Mechanismen, die für die Vervollständigung verwendet werden, sind grob.

Haben Sie überprüft, ob Ihre tags Datei OpenLayers.Bounds, OpenLayers.Control oder OpenLayer.Map hat? Ich kann OpenLayer.Map nicht finden und durch die OpenLayer.debug.js geht, kann ich diese Funktion auch nicht finden.

TagBar funktioniert nur mit dem aktuellen Puffer. Wenn Sie Tags für andere Fenster/Puffer anzeigen möchten, benötigen Sie ein anderes älteres Plugin: TagList.

AutoComplPop unterstützt JS nicht von Anfang an. Wie hast du es aufgebaut? Here is how I did aber es verwendet immer noch <C-x><C-o> während die Fertigstellung von tags mit erfolgt.

+0

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

+0

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. –

+0

@MaciejJankowski, 2012 gab es keine YCM oder Tern. – romainl

Verwandte Themen