Sto lavorando su un grande progetto python usando vim con tagexplorer, pythoncomplete e ctags. Le funzionalità di navigazione del codice e di completamento del codice basate su tag non funzionano nel modo in cui dovrebbero sfortunatamente, poiché ctags non associa le istanze ai tipi.Come risolvere i problemi di esplorazione del codice Python e completamento del codice in vim?
scenari ipotetici:
- Completamento automatico: vim non saranno completamento automatico metodo
on()
inmyCar.ignition().on()
perchè ctags non sa cheignition()
rendimentiTypeIgnition
. - Navigazione codice: vim non sfoglia in
TypeCar
quando faccio clic sumyCar
ma invece mi presenta con più corrispondenze di definizione, corrispondenze errate o nessuna corrispondenza perché ctags non esegue il backtrack e lega le istanze ai tipi.
Il problema sembra derivare dal fatto che Python sia un linguaggio tipizzato dinamicamente. Né lo scenario presenterebbe una sfida altrimenti. Esiste un'alternativa efficace alla codifica e al completamento del codice basata su tag e un plug-in IDE o Vim che lo implementa correttamente?
Nota: Si prega di votare "riaprire". Le soluzioni a questo problema sono preziose per la comunità. La domanda è stata formulata in origine in modo molto vago, non è più così.
's/digitazione debole/digitazione dinamica /' – delnan
Ho trovato [spyder] (http://code.google.com/p/spyderlib/) su SO circa una settimana fa. Potresti dare un'occhiata a come fanno alcune delle loro cose. – John
Non considero questo un grosso problema. A volte uso [ropemacs] (http://rope.sourceforge.net/ropemacs.html) per l'espansione automatica, che funziona bene. Di solito, però, digito semplicemente i nomi degli attributi, e non credo che interferisca con la produttività. Se lo facessi, farei sicuramente un uso maggiore dei ropemacs. –