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.