Una herramienta liviana para refactorizaciones de Python

He estado muy contento con mi compra de Sublime Text 3 para desarrollo y, ya sea de forma nativa o mediante extensiones, este software cubrió casi todas mis necesidades.

Sin embargo, lo único que me encontré buscando fue una forma de hacer refactorizaciones, por ejemplo a través de PyRope o mejor. Ya existe una extensión de PyRope para ST3 , pero en realidad no usa el backend de refactorización. La versión ST2 tiene este soporte, pero no es del todo robusto y, a menudo, falla sin un mensaje de error claro.

Lo que estoy buscando:

  • No quiero aprender vimo emacssimplemente refactorizar el código, a menos que el complemento sea tan simple que pueda explicar cómo usarlo en el cuerpo de su respuesta. Lo siento.
  • No quiero configurar espacios de trabajo, archivos de proyecto y demás solo para refactorizar el código. La herramienta debería funcionar con una estructura de archivos existente.
  • Puntos de bonificación por venir con .debpaquetes.
  • Más puntos de bonificación por estar en los repositorios de Ubuntu (al menos en los de Trusty )
  • Todos los puntos de bonificación si en realidad es un complemento ST3.

No metas:

  • No tiene que usar PyRope, pero al menos debería tener una "función de extracción".
  • Ni siquiera tiene que ser un editor de texto. Incluso un programa como este sería suficiente:

    py-refactor extract-function myNewFunction \
                --from mycode.py:42:60 \
                --dry-run
    
Podría explicar fácilmente cómo usar VimRope o Bicycle Repairman en mi respuesta, lo que no pude hacer es explicar cómo usar Vim en mi respuesta.
@Oxinabox Eso es lo que pregunté. :)
Entonces, ¿está de acuerdo con una respuesta que es un complemento de Vim?
@Oxinabox Siempre que la respuesta sea lo suficientemente detallada, sí... Conozco los conceptos básicos de vim (lo suficiente como para configurar las redes y los repositorios de un sistema y luego instalarlo nano: P), pero nunca antes había tratado con un complemento. .

Respuestas (1)

Nota : soy cofundador de Wingware, creadores de Wing IDE para Python

Puede probar Wing IDE , que tiene operaciones de refactorización para renombrar, mover, extraer código a una función o método e introducir variables. Es un IDE completo, pero se inicia rápidamente, es muy configurable (p. ej., puede ocultar cosas que no le interesan) y recarga el código del disco automáticamente, por lo que puede usarlo junto con otro editor.

Debe asegurarse de que Wing (y creo que cualquier herramienta de refactorización) sepa cuál es la ruta de Python, si su código no está todo en el mismo directorio. De lo contrario, no puede saber con certeza a qué módulo se refiere una importación y, por lo tanto, puede pasar por alto los usos de un símbolo que está cambiando. Es posible que esto no sea relevante en su base de fuentes, pero aún así vale la pena tenerlo en cuenta.

Para abordar sus otros requisitos: Wing tiene varias personalidades de teclado y no requiere que sepa emacs o vim. Viene como .deb (y en otras formas), pero no está en el repositorio de Ubuntu y su motor de refactorización no está disponible como un complemento ST3 (¡lo siento!).

Esto es "Recomendaciones de software". ¿Está recomendando esto por experiencia personal, o simplemente informa lo que cree que es cierto sobre esto?
@IraBaxter Está en el equipo de desarrollo
@Fractaliste: Bien. Ahora al menos su experiencia y conexión con ella son claras.
Gracias por aclarar eso. Lo siento, esta fue mi primera publicación aquí y lo hice desde la cuenta equivocada.