Ein leichtes Tool für Python-Refaktorisierungen

Ich war sehr zufrieden mit meinem Kauf von Sublime Text 3 zum Entwickeln, und entweder nativ oder durch Erweiterungen deckte dieses Stück Software fast alle meine Bedürfnisse ab.

Das Einzige, was mir jedoch fehlte, war eine Möglichkeit, Refactorings durchzuführen, beispielsweise über PyRope oder besser. Es gibt bereits eine PyRope-Erweiterung für ST3 , aber sie verwendet nicht wirklich das Refactoring-Backend. Die ST2-Version hat diese Unterstützung, ist aber überhaupt nicht robust und fällt oft ohne eindeutige Fehlermeldung aus.

Wonach ich suche:

  • Ich möchte nicht lernen vimoder emacsnur Code umgestalten – es sei denn, das Plugin ist so einfach, dass Sie erklären können, wie es im Text Ihrer Antwort verwendet wird. Es tut uns leid.
  • Ich möchte keine Arbeitsbereiche, Projektdateien und dergleichen einrichten, nur um Code umzugestalten. Das Tool sollte mit einer bestehenden Dateistruktur arbeiten.
  • Bonuspunkte für das Kommen mit .debPaketen.
  • Mehr Bonuspunkte für die Ubuntu-Repos (zumindest Trusty 's)
  • Alle Bonuspunkte, wenn es sich tatsächlich um ein ST3-Plugin handelt.

Nicht-Ziele:

  • Es muss nicht PyRope verwenden, aber es sollte zumindest eine "Extraktionsfunktion" haben.
  • Es muss nicht einmal ein Texteditor sein. Auch nur ein Programm wie dieses würde ausreichen:

    py-refactor extract-function myNewFunction \
                --from mycode.py:42:60 \
                --dry-run
    
Ich könnte in meiner Antwort leicht erklären, wie man VimRope oder Bicycle Repairman verwendet, was ich in meiner Antwort nicht erklären konnte, wie man Vim verwendet.
@Oxinabox Das habe ich gefragt. :)
Sie sind also mit einer Antwort einverstanden, die ein Vim-Plugin ist?
@Oxinabox Solange die Antwort ausreichend detailliert ist, ja ... Ich kenne die Grundlagen von vim (ausreichend, um das Netzwerk und die Repositories eines Systems festzulegen und dann zu installieren nano: P), aber ich habe mich noch nie mit einem Plugin befasst .

Antworten (1)

Hinweis : Ich bin Mitbegründer von Wingware, Hersteller von Wing IDE für Python

Sie könnten Wing IDE ausprobieren , das Refactoring-Operationen zum Umbenennen, Verschieben, Extrahieren von Code in eine Funktion oder Methode und Einführen von Variablen enthält. Es ist eine vollständige IDE, startet aber schnell, ist sehr konfigurierbar (z. B. können Sie Dinge ausblenden, die Sie nicht interessieren) und lädt Code automatisch von der Festplatte nach, sodass Sie es Seite an Seite mit einem anderen Editor verwenden können.

Sie müssen sicherstellen, dass Wing (und ich denke, jedes Refactoring-Tool) weiß, was der Python-Pfad ist, wenn sich Ihr Code nicht vollständig im selben Verzeichnis befindet. Andernfalls kann es nicht sicher wissen, auf welches Modul sich ein Import bezieht, und kann daher Verwendungen eines Symbols, das Sie ändern, übersehen. Dies ist möglicherweise in Ihrer Quellenbasis nicht relevant, sollte aber dennoch beachtet werden.

Um Ihre anderen Anforderungen zu erfüllen: Wing hat verschiedene Tastaturpersönlichkeiten und erfordert nicht, dass Sie Emacs oder Vim kennen. Es kommt als .deb (und in anderen Formen), ist aber nicht im Ubuntu-Repository und Ihre Refactoring-Engine ist nicht als ST3-Plugin verfügbar (sorry!).

Dies ist "Software-Empfehlungen". Empfehlen Sie dies aus persönlicher Erfahrung oder berichten Sie einfach, was Sie für wahr halten?
@IraBaxter Er ist im Entwicklerteam
@Fractaliste: Gut. Jetzt sind zumindest seine Erfahrung und seine Verbindung damit klar.
Danke für die Klarstellung. Entschuldigung, das war mein erster Beitrag hier und ich habe ihn vom falschen Konto aus gemacht.