Notepad ++ XML Auto Indent + tag chiusura

Sto migrando una domanda che ho pubblicato su stackoverflow qui perché potrebbe essere più rilevante.

Ecco la domanda:

Sto cercando un modo per codificare XML (mxml, specificamente) in Notepad ++ in modo che segua il comportmento del plugin "Indent by Fold" dopo aver premuto 'entri' dopo un tag di apertura – ma include anche la chiusura automatica dei tag simile a ciò che viene fornito dal plugin "Strumenti XML".

Il problema con l'abilitazione contemporanea è che inizia con qualcosa di simile:

<hello| 

(Nota: il carattere '|' rappresenta il cursore)

Poi, dopo aver premuto il tasto ">", ottengo questo:

 <hello>|</hello> 

E dopo aver premuto 'Enter', ho qualcosa che sembra questo:

 <hello> |</hello> 

Quello che sto cercando è qualcosa che sembra questo (dopo aver premuto il tasto '>'):

 <hello> | </hello> 

Qualsiasi aiuto sarebbe molto apprezzato.

Ecco la mia soluzione veloce e sporca. Realmente richiede solo la creazione di una macro e l'abilitazione di una funzionalità di strumenti XML.

Innanzitutto, rimuovi il plug-in "Indent by Fold", se installato.

Quindi, abilitare la function "Tag auto-chiudere" accedendo a Plugins> Strumenti XML.

Inoltre, abilitare l'indentazione automatica di Notepad ++, accedendo a Impostazioni> Preferenze> MISC. linguetta

Quindi, andare a Macro> Avvia logging.

Ora, premere i seguenti tasti in questa sequenza:

>, digitare, entrare, in su, scheda.

Quindi, vai a Macro> Stop logging. Seguito da Macro> Salva la macro corrente registrata.

Questo creerà il finale '>' e il tag di chiusura, ma poi lasci il cursore indentito in una nuova row tra i tag di apertura e di chiusura.

Ho salvato la mia come "CTRL +". '".

Il ragionamento dietro questo era che se ero qui:

 <hello| 

La cosa naturale da fare sarebbe colpire il tasto ">". Dal momento che ho bisogno di colpire SHIFT + '.' su una tastiera QWERTY per get questo personaggio, mi rendo conto di utilizzare CTRL + '.' (solo una chiave) per eseguire la macro e salvare SHIFT + '.' per i casi in cui voglio solo il carattere vecchio semplice (ad esempio, <hello /> ).

Ecco il risultato dopo aver premuto CTRL + '.'

 <hello> | </hello> 

Sarò alla ricerca di una soluzione più elegante, ma per ora questo sembra essere abbastanza buono.

Spero che questo ti aiuti!