[PYTHON] Erweitern Sie eine beliebige Anzahl von Argumenten mit yasnippet
Ich werde Ihnen zeigen, wie Sie mit [yasnippet] eine beliebige Anzahl von Feldern erstellen (https://github.com/capitaomorte/yasnippet).
Den Quellcode finden Sie unter github.
(Informationen zur Verwendung von yasnippet finden Sie unter dem obigen Link.)
Erweiterung einer beliebigen Anzahl von Argumenten
yasnippet kann Emacs lisp direkt in das Snippet schreiben, indem "# type: command" in den Header geschrieben wird, wodurch die automatische Generierung des Snippets ermöglicht wird.
Eine Dokumentzeichenfolge, die auf den von numpy auf diese Weise übernommenen Codierungskonventionen basiert (https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt) (basierend auf PEP8, PEP257). Ich habe einen Ausschnitt über den Argumentationsteil gemacht.
Bitte haben Sie zunächst ein Demo-Video. !!
- Wenn es sich um eine def-Dokumentzeichenfolge handelt, analysieren Sie das Argument, und wenn es sich um eine Klasse-Dokumentzeichenfolge handelt, analysieren Sie das Argument def_init __.
- Zum Parsen wird der Funktionsdefinitionsteil an den Python-Interpreter übergeben.
- Die maximale Anzahl von Zeilen für die Funktionsdefinition beträgt 5. (Es gibt keinen positiven Grund für die Nummer 5)
Sie sollten in der Lage sein, kompliziertere und bequemere Schnipsel zu erstellen, indem Sie hart an Emacs Lisp arbeiten.
Wir freuen uns auf Ihren heißen Ausschnitt.
Darüber hinaus möchte ich eine kontinuierliche Erweiterung einführen, die das obige Snippet und das Snippet kombiniert, die eine Funktion mit einer Dokumentzeichenfolge erstellen.
Kontinuierliche Entwicklung des Snippets durch wiederholtes Drücken der Lasche
Verwenden Sie dazu auch ".emacs"
.emacs
(setq yas-triggers-in-field t)
Es ist notwendig zu schreiben.
Bitte schauen Sie sich nach wie vor zuerst das Demo-Video an.
- In yasnippet ändern sich verschiedene Verhaltensweisen, je nachdem, ob das Feld bearbeitet wird. Die Bedienung der Tabulatortaste ist eine davon.
- Normalerweise können Sie den Vorgang während der Bearbeitung nicht durch wiederholtes Tippen auf die Registerkarte aufrufen.
- Hier wird Emacslisp, das in Snippet eingebettet werden kann, verwendet, um die ursprüngliche Zeichenfolge zu konvertieren und die Bearbeitung zu erzwingen.
- Indem Sie die konvertierte Zeichenfolge mit dem Schlüssel des Snippets identisch machen, das Sie erweitern möchten, können Sie sie so erweitern, wie sie ist.
- Da es durch wiederholtes Tippen auf die Registerkarte erweitert werden kann, kann es kontinuierlich erweitert werden, als ob das Snippet wie gewohnt erweitert würde.
das ist alles.