2012-03-19 12 views
10

Estoy trabajando en un gran proyecto de python usando vim con tagexplorer, pythoncomplete y ctags. Las funciones de búsqueda de código basadas en etiquetas y de finalización de código no funcionan de la manera que deberían, lamentablemente, porque ctags no vincula las instancias a los tipos.¿Cómo abordar los problemas de exploración de código python y de finalización de código en vim?

escenarios hipotéticos:

  • automático completo: vim no on() método de myCar.ignition().on() PORQUE ctags la función de autocompletar no sabe que ignition() vuelve TypeIgnition.
  • Navegación de código: vim no buscará en TypeCar cuando hago clic en myCar, sino que me presenta varias coincidencias de definición, coincidencias incorrectas o no coincidencias, ya que ctags no retrocede y ata las instancias a los tipos.

El problema parece provenir de que python es un lenguaje de tipado dinámico. Ningún escenario presentaría un desafío de lo contrario. ¿Existe una alternativa efectiva a la búsqueda de código basada en etiquetas y la finalización de código y un complemento IDE o vim que lo implemente bien?

Nota: Por favor vote "re-abierto". Las soluciones a este problema son valiosas para la comunidad. La pregunta fue formulada originalmente muy vagamente, ese ya no es el caso.

+5

's/typing débil/tipado dinámico /' – delnan

+0

Encontré [spyder] (http://code.google.com/p/spyderlib/) en SO hace aproximadamente una semana. Podría echar un vistazo a cómo hacen algunas de sus cosas. – John

+1

No considero esto un problema importante. A veces uso [ropemacs] (http://rope.sourceforge.net/ropemacs.html) para la autoexpansión, que funciona bien. Por lo general, simplemente escribo los nombres de los atributos, y no creo que se interponga en el camino de la productividad. Si lo hiciera, sin duda haré un mayor uso de los ropemacs. –

Respuesta

0

IDE comerciales para python like wing (www.wingware.com) y pycharm (www.jetbrains.com/pycharm) son mejores para resolver la mayoría de los problemas de finalización de código. Por supuesto, ellos no son libres sin embargo. Yo mismo, cuando uso el eclipse con el complemento pydev no pude obtener resultados satisfactorios.

+0

vagabundos, estaba a punto de probar PyDev –

+1

Lo animo a probarlo. Mi problema con Pydev fue cuando importé una biblioteca de terceros. Todavía hay muchos errores por abordar en PyDev, pero definitivamente es mejor que el IDE con el que viene python. –

+1

PyDev funciona bastante bien. Lejos de ser perfecto, pero bastante malditamente bien. Y lo que pierde en la finalización del código está algo compensado por la capacidad de acceder a su código en cualquier punto en tiempo de ejecución y ejecutar código arbitrario en el marco activo. –

Cuestiones relacionadas