Notepad ++ XML Auto Indent + Tag Schließen

4680
funseiki

Ich migriere eine Frage, die ich zu stackoverflow gestellt habe, hierher, da sie relevanter sein könnte.

Hier ist die Frage:

Ich bin auf der Suche nach einer Möglichkeit, XML (speziell für mxml) in Notepad ++ zu codieren, so dass es dem Verhalten des Plugins "Indent by Fold" folgt - Einrückung nach dem Drücken der Eingabetaste nach einem öffnenden Tag - aber auch das automatische Schließen ähnlicher Tags was vom Plugin "XML Tools" bereitgestellt wird.

Das Problem bei der gleichzeitigen Aktivierung beider ist, dass ich mit etwas wie dem folgenden beginne:

<hello| 

(Hinweis: Das Zeichen '|' steht für den Cursor.)

Nach dem Drücken der Taste ">" erhalte ich Folgendes:

<hello>|</hello> 

Und nach Drücken der Eingabetaste bekomme ich etwas, das so aussieht:

<hello> |</hello> 

Was ich suche, ist etwas, das so aussieht (nachdem Sie die Taste ">" gedrückt haben):

<hello> | </hello> 

Jede Hilfe wäre sehr dankbar.

2

1 Antwort auf die Frage

2
funseiki

Hier ist meine schnelle und schmutzige Lösung. Im Grunde geht es nur darum, ein Makro zu erstellen und eine XML-Tools-Funktion zu aktivieren.

Entfernen Sie zunächst das Plugin "Indent By Fold", falls installiert.

Aktivieren Sie anschließend die Funktion "Automatisch schließen", indem Sie auf Plugins> XML Tools gehen.

Aktivieren Sie außerdem den automatischen Einzug von Notepad ++, indem Sie auf Einstellungen> Voreinstellungen> MISC gehen. Tab

Gehen Sie dann zu Makro> Aufnahme starten.

Drücken Sie nun die folgenden Tasten in dieser Reihenfolge:

>, eingeben, eingeben, auf, Tab.

Gehen Sie dann zu Makro> Aufnahme stoppen. Anschließend Makro, Speichern des aktuell aufgezeichneten Makros.

Dadurch wird sowohl das abschließende '>' als auch das schließende Tag erstellt, der Cursor wird jedoch zwischen den öffnenden und schließenden Tags in einer neuen Zeile eingerückt.

Ich habe meine als "STRG + '.'" Gespeichert.

Die Begründung dahinter war, wenn ich hier wäre:

<hello| 

Das Natürlichste wäre, die '>' - Taste zu drücken. Da muss ich SHIFT + '.' Um dieses Zeichen auf einer QWERTY-Tastatur zu erhalten, denke ich, würde ich STRG + 'verwenden.' (nur eine Taste entfernt), um das Makro auszuführen und UMSCHALT + '.' Für Fälle, in denen ich nur den einfachen alten Charakter möchte (z <hello />. B. ).

Hier ist das Ergebnis nach dem Drücken von STRG + '.'

<hello> | </hello> 

Ich werde nach einer eleganteren Lösung Ausschau halten, aber für den Moment scheint das ziemlich gut zu sein.

Hoffe das hilft!