Come formattare automaticamente / indentare XML / HTML in Notepad ++


628

C'è un modo per rientrare in rientro un blocco di codice? Sto cercando qualcosa di simile a Ctrl+ Shift+ Fin Eclipse (formattazione automatica / rientro).

Per essere chiari,

  • So già come formattare XML al di fuori di Notepad ++ (Eclipse funziona bene, come detto), quindi non ho bisogno di un mucchio di collegamenti ad altri strumenti di formattazione XML.
  • Sto specificatamente lavorando con XML e HTML.
  • Idealmente, c'è un keybinding conveniente come quello in Eclipse, quindi non devo interrompere il mio flusso di lavoro.

Conosco già NppAutoIndent: non funzionerà, poiché sto lavorando con XML, HTML e CSS.


Risposte:


838

Da quando ho eseguito l'aggiornamento a 6.3.2, utilizzo XML Tools.

  • installa XML Tools tramite Admin Plugin.
  • usa il collegamento Ctrl+ Alt+ Shift+ B( o menu → Plugin → Strumenti XML → Pretty Print)

Nelle versioni precedenti: menu → TextFX → HTML Tidy → Tidy: Reindent XML.


11
Ho installato la versione 5.9.8 e aggiunto TextFX come plugin. Plugin -> Plugin Manager -> Mostra Plugin Manager. Seleziona TextFX e installa. Dopo il riavvio di npp, il menu 'TextFS' dovrebbe essere visibile.
rimedi

19
Attenzione al dell'errore libtidy.dll mancante nelle versioni più recenti quando si installa il plugin HTMLTidy.
Amos M. Carpenter,

11
XML Tools formatterà XHTML, ma non HTML. Provare a formattare questo: <form><input><input><input><input><input></form>. Per funzionare, il tuo codice deve essere in questo formato, il che sarà un <form><input /><input /><input /><input /><input /></form>
grosso

1
Trova l'opzione Formato nel Menu: Estensioni-> Strumenti XML -> Stampa graziosa (con interruzioni di riga)
fl0w

1
Stai molto attento con questo trasformerà <div> </div> in <div /> se i div sono vuoti. Questo potrebbe essere un cambiamento radicale per i browser Web che eseguono il rendering degli stili CSS.
Timothy Gonzalez,

53

Installa il plugin Tidy2. Ho Notepad ++ v6.2.2 e Tidy2 funziona bene finora.


5
Secondo, Tidy2 ha fatto il lavoro per il markup HTML e ha fatto un ottimo lavoro.
DWils,

2
Terzo questo. XML Tools non ha funzionato per me e non ha potuto farlo funzionare con TextFX
Christian Vielma,

4
Grazie ... "Strumenti XML" non ha funzionato su alcuni file e questo è ciò che ha funzionato per me.
Subhashi,

4
Attenzione: alcune entità carattere HTML vengono sostituite con il loro carattere unicode quando si riordina. Ciò è indipendente dalla configurazione Tidy2 o dalla codifica del documento. Ad esempio, "& # 8217;" prima di riordinare diventa "'" (virgoletta singola "intelligente") dopo il riordino. Ciò ha reso Tidy2 inutilizzabile per me. Il progetto non è stato aggiornato dal 2012.
trebormf,

nessuna opzione per usare le tab al posto degli spazi per il rientro mi uccide.
cori,

36

Per chi non lo sapesse, npp ha molto supporto da plugin e altri progetti. Puoi scaricare quei plugin da SourceForge .

inserisci qui la descrizione dell'immagine

Hai bisogno XML Tools formattare il testo in n ++

Dopo aver scaricato XML Tools..

Esci da Notepad ++

Vai a C:\Program File\Notepad++.... La tua cartella N ++ installata.

  1. Posiziona sotto i file dagli strumenti xml che hai scaricato nella cartella principale di npp copy replace

inserisci qui la descrizione dell'immagine

  1. Vai alla ..\Pluginssottocartella e posiziona sotto il file scaricato

inserisci qui la descrizione dell'immagine

Riavvia e divertiti !!!

Ctrl+ Alt+ Shft+ Bper formattare.


4
Non mi sembra di avere un gestore plug-in sul mio: ho Notepad ++ 7.3.3.
Gufo,

14

È la terza volta che installo Windows e npp e dopo qualche tempo mi rendo conto che la funzione ordinata non funziona più. Quindi cerco una soluzione su Google, vieni a questo thread, quindi con l'aiuto di pochi altri thread, finalmente lo risolvo. Metterò una sintesi di tutte le mie azioni una volta per tutte.

  1. Installa plugin TextFX: Plugin -> Plugin Manager -> Mostra Plugin Manager. Seleziona Caratteri TextFX e installa. Dopo il riavvio di npp, il menu 'TextFX' dovrebbe essere visibile. (crediti: @remipod).

  2. Installa libtidy.dll incollando la cartella Config da un vecchio pacchetto npp: segui le istruzioni in questa risposta .

  3. Dopo avere una cartella Config nell'ultima destinazione di installazione di npp (in genere C: \ Programmi (x86) \ Notepad ++ \ plugins), npp deve accedere in scrittura a quella cartella. Fare clic con il tasto destro su Config cartella -> Proprietà -> scheda Sicurezza -> selezionare Utenti, fare clic su Modifica -> selezionare Controllo completo per consentire l'accesso in lettura / scrittura. Nota che hai bisogno dei privilegi di amministratore per farlo.

  4. Riavvia npp e verifica TextFX -> TextFX HTML Tidy -> Tidy: Reindent XML funziona.


Se si utilizza l' impostazione "allowAppDataPlugins" (che consente i plug-in per utente), è possibile farlo inserendo la cartella ordinata dal passaggio 2 nella directory dei plug-in utente e saltando il passaggio 3.
palswim

@palswim: bello grazie! La tua soluzione è più pulita quando un utente utilizza il npp.
Vladimir Grigorov,

9

Notepad ++ non fornisce tali funzionalità per impostazione predefinita. Ma puoi usare alcuni strumenti online per formattare automaticamente il testo come https://www.freeformatter.com/xml-formatter.html .

Aiuta. :)


2
Sebbene questa risposta sia una soluzione alternativa piuttosto che una soluzione alla domanda dei PO, è l'unica cosa che ha funzionato per me. Sia XML Tools che Tidy2 hanno dei problemi.
Nigel Alderton,

8

Ho dovuto aggiornare le impostazioni del proxy in Plugin -> Plugin Manager -> Mostra Plugin Manager -> Impostazioni per vedere tutti i PlugIn nell'elenco "Disponibile".

Successivamente, l'installazione di "Strumenti XML" è stata semplice e ha svolto il lavoro richiesto come descritto sopra.


Usando "XML Tools" il rientro non era come richiesto per il codice HTML + Javascript. Trovato plugin "UniversalIndentGUI" fa bene il lavoro impostando la lingua su HTB (HTML, XML, XSL) e quindi eseguendo "Rientra il testo" dal menu dei plugin.
GuruM,

6

Per rispondere direttamente all'OP, dai un'occhiata al sito di questo ragazzo: Thomas Hunter Notepad ++ Tidy per XML . Semplici passi da seguire e ottieni una formattazione molto bella del tuo XML direttamente all'interno della centrale nucleare. Finora l'unica anomalia che ho riscontrato è con gli elementi autochiudenti nidificati EG:

<OuterTag>Text for outer element<SelfClosingTag/></OuterTag>

Sarà riordinato fino a:

<OuterTag>Text for outer element
<SelfClosingTag/></OuterTag>

Potrebbe esserci un modo per risolvere questo problema, ma per ora è riuscito a ridurre il numero di righe nel mio documento di 300k e questa particolare anomalia può essere aggirata.


1

Sto usando Notepad 7.6 con "Plugin Admin" e non sono riuscito a trovare XML Tools.
Ho dovuto installarlo manualmente come ha fatto @ some-java-guy nella sua risposta, tranne per il fatto che la mia cartella plugin si trovava qui: C:\Users\<my username>\AppData\Local\Notepad++\plugins
in quella directory ho creato una nuova directory (chiamata XmlTools) e lì ho copiato XMLTools.dll. (E ho copiato tutte le dipendenze nella directory Notepad ++ nei file di programma.)


Con Notepad ++ v7.8.4, "Strumenti XML" è disponibile in "Plugin Admin". Forse c'era un'incompatibilità o qualcosa del genere. Sembra ancora che sia stato sviluppato attivamente, considerando che l'ultimo commit è stato effettuato 2 giorni fa su github.com/morbac/xmltools
Micah Lindstrom,

1

Basta installare l'ultimo notepad ++ e installare indent By fold. Nella barra dei menu selezionare Plugin -> Plugin Admin e selezionare indent By piega e installa. Funziona al meglio


questa dovrebbe essere la risposta all'accettatore ora, perché non riesco a far funzionare lo strumento XML o Tidy2. Ad ogni modo, possiamo assegnare un collegamento per questo utilizzo?
Irfandi D. Vendy,

L'ultima versione di Notepad ++ (7.8.6) è molto deludente. Ho provato a installare IndentByFold nella versione 7.5.6 e ha rotto il meraviglioso plug-in AutoSave di Franco Stellari, https://sites.google.com/site/fstellari/nppplugins . Scusate: per me, questo è un rompicapo. (!) Probabilmente niente di male in sé con IndentByFold di Frank Fesevur. Per il momento, incolpo l'ultima versione di Notepad ++, https://community.notepad-plus-plus.org/topic/16449 . Pietosa.
Henke

Quanto a me ha funzionato. Sto usando la v7.8.4
Daniel Nyamasyo

Rischio di scivolare fuori tema qui, ma se qualcuno può segnalare una versione di Notepad ++ successiva alla 7.5.6 che funziona con il plug-in AutoSave 1.60 di Franco Stellari, https://sites.google.com/site/fstellari/nppplugins , I sarebbe più che felice di passare a quella versione. In caso contrario, non è possibile aggiornare Notepad ++ 7.5.6 a una versione successiva. La versione 0.7 di IndentByFold funziona anche per me. Ma mi oppongo a mettere (trailing) spazi in righe vuote, cosa che IndentByFold fa.
Henke

La mia versione di Notepad ++ è 7.5.6. Ora ho provato 1) Strumenti XML, 2) HTML Tidy, 3) Tidy2, E 4) IndentByFold 0.7. Gli strumenti XML in qualche modo "funzionano", ma creano un disastro deplorevole del mio codice HTML, https://i.imgur.com/oLOB30Z.png . Né HTML Tidy né Tidy2 funzionano affatto. IndentByFold 0.7 è l'unica soluzione che posso mettere al lavoro. Non mi piace che metta (trailing) spazi su righe vuote, ma posso conviverci. Continuo a non sostenere questa risposta (di Daniel Nyamasyo). Il motivo è che non sono assolutamente d' accordo con il consiglio di utilizzare l' ultima versione di Notepad ++.
Henke,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.