Hier finden Sie eine umfassende Anleitung: http://wikemacs.org/wiki/Python Hier finden Sie eine Liste gebrauchsfertiger Lösungen (das Prelude- Starter-Kit , Spacemacs, Lösungen für Data Science usw.) sowie nützliche Pakete (Elpy) Wie jedes Paket müssen Sie Ihre Umgebung verbessern. Hier ist eine Übersicht .
Refactoring
Dies ist die "IDE-spezifischste" Funktion. Emacs als einige Möglichkeiten dabei dank der Rope-Python-Bibliothek. Es stellt sich heraus, dass die Installation und Verwendung des emacs-traad- Pakets in MELPA am einfachsten ist. Es bietet unter anderem:
- Ändern einer Methodensignatur: Hinzufügen / Entfernen eines Arguments mit projektübergreifendem Refactoring (natürlich)
- benennen sie alles um,
- Definitionen finden,…
Seil ist auch in Elpy enthalten.
Einfachere Code-Manipulation
Wir haben einfachere Tools, die beim Refactoring oder bei der Codemanipulation helfen: http://wikemacs.org/wiki/Python#Other_Python_.22refactoring.22_tools
Zum Beispiel ist Projectile großartig (siehe andere Antworten), wir haben auch ein Tool zum Hinzufügen von Dekoratoren , Hinzufügen / Entfernen / Bearbeiten von Argumenten , Umbenennen / Kopieren / Kommentieren / Beenden einer Methode, ein Tool zur Codegenerierung, ...
Code-Navigation
Wir können als IDE mit Tags und cscope navigieren: Finden Sie die Funktionen, die diese aufrufen, finden Sie Vorkommen usw.
Emacs hat auch großartige Pakete wie imenu (helm-imenu), helm-swoop (interaktives grep in einem Puffer), emacs-helm-ag (interaktiver Silver Searcher in einem Projekt) usw.
Tests ausführen
Es ist Elpy, das gute Unterstützung bietet, um Tests durchzuführen (mit dem Django-Läufer, Elpy oder einem anderen). Wir können sogar nur den Unit-Test durchführen, in dem wir uns gerade befinden: sehr praktisch! Es gibt also eine Hydra, die dabei hilft (zwischen den Fehlern wechseln Sie zur Python-Eingabeaufforderung…).
Unterstützung leisten
Dies ist ein Emacs-Paket, das nicht für Python spezifisch ist. Ich möchte jedoch in der Lage sein, ein make-Ziel von einer beliebigen Stelle im Projekt aus auszuführen und den make-Befehl mit Vervollständigung auszuwählen . Verknüpfung
Umgang mit dem Einzug
Es gibt ein kleines Paket, indent-Tools , dass Befehle direkt mit einem eingekerbten Block zu arbeiten gibt: Umzug in den nächst previous-Eltern-Kind-Block des Eindrucks, indent / deindent / Kommentar / Kopie / kill / fold den aktuellen Block , etc. Perfekt für Yam, und auch für Python. Doc und GIF Demo
Django-Unterstützung
siehe Django . Elpy unterstützt den Django-Läufer. Siehe elpy django doc . Der Django-Modus (in melpa) enthält Vorlagen zum Hervorheben, Schnellbefehle, Vervollständigen von Verwaltungsbefehlen , ...
Ebenfalls wichtig: großartige Git-, Github- und Gitlab-Unterstützung
magithub kann Github-PRs erstellen, wir können Probleme abrufen und deren Referenz in Commit-Nachrichten einfügen , magit ist großartig, ... siehe http://wikemacs.org/wiki/Git