So formatieren / rücken Sie XML / HTML in Notepad ++ automatisch ein

628

Gibt es eine Möglichkeit, einen Codeblock erneut einzurücken? Ich suche etwas ähnlichesCtrl + Shift+ Fin Eclipse (Auto-Format / Einzug).

Deutlich sein,

  • Ich weiß bereits, wie man XML formatiert außerhalb von Notepad ++ (Eclipse funktioniert wie erwähnt einwandfrei), sodass ich keine Links zu anderen XML-Formatierungswerkzeugen benötige.
  • Ich arbeite speziell mit XML und HTML.
  • Im Idealfall gibt es eine Tastenkombination, die genauso praktisch ist wie die in Eclipse, sodass ich meinen Workflow nicht unterbrechen muss.

Ich kenne NppAutoIndent bereits - es wird nicht funktionieren, da ich mit XML, HTML und CSS arbeite.

SBoss
quelle

Antworten:

838

Seit ich auf 6.3.2 aktualisiert habe, verwende ich XML Tools.

  • Installieren Sie XML Tools über das Plugin Admin.
  • Verwenden Sie die Verknüpfung Ctrl+ Alt+ Shift+ B( oder Menü → Plugins → XML-Tools → Pretty Print).

In älteren Versionen: Menü → TextFX → HTML Aufräumen → Aufräumen: XML neu einbinden.

Remipod
quelle
11
Ich habe die Version 5.9.8 installiert und TextFX als Plugin hinzugefügt. Plugins -> Plugin Manager -> Plugin Manager anzeigen. Wählen Sie TextFX und installieren Sie. Nach einem Neustart von npp sollte das Menü 'TextFS' sichtbar sein.
Remipod
19
Beachten Sie bei der Installation des HTMLTidy-Plugins den fehlenden Fehler libtidy.dll in den letzten Versionen.
Amos M. Carpenter
11
XML Tools formatieren XHTML, jedoch nicht HTML. Versuchen Sie Folgendes zu formatieren : <form><input><input><input><input><input></form>. Ihr Code muss in diesem Format vorliegen, damit er funktioniert, was für viele Entwickler ein Deal Breaker sein wird:<form><input /><input /><input /><input /><input /></form>
am
1
Suchen Sie die Option Format im Menü: Erweiterungen-> XML-Tools -> Hübscher Druck (mit Zeilenumbrüchen)
fl0w
1
Seien Sie sehr vorsichtig, es wird <div> </ div> in <div />, wenn die divs leer sind. Dies könnte eine bahnbrechende Änderung für Webbrowser sein, die CSS-Stile rendern.
Timothy Gonzalez
53

Installieren Sie das Tidy2-Plugin. Ich habe Notepad ++ v6.2.2 und Tidy2 funktioniert bisher einwandfrei.

Dima
quelle
5
Ich stimme dem zu, Tidy2 hat den Job für HTML-Markups erledigt und macht einen sehr guten Job darin.
DWils
2
Ich drittens dies. XML Tools funktionierten nicht für mich und konnten es nicht mit TextFX
Christian Vielma
4
Danke. 'XML Tools' hat bei bestimmten Dateien nicht funktioniert und das hat bei mir funktioniert.
Subhashi
4
Achtung: Bestimmte HTML-Zeichenentitäten werden beim Aufräumen durch ihre Unicode-Zeichen ersetzt. Dies ist unabhängig von der Tidy2-Konfiguration oder der Dokumentcodierung. Zum Beispiel "& # 8217;" vor dem Aufräumen wird nach dem Aufräumen "'" ("intelligentes" einfaches Anführungszeichen). Dies machte Tidy2 für mich unbrauchbar. Das Projekt wurde seit 2012 nicht aktualisiert.
Trebormf
Keine Option für die Verwendung von Tabulatoren anstelle von Leerzeichen für Einrückungen beendet dies für mich.
Cori
36

Für diejenigen, die es nicht wissen, hat npp viel Unterstützung von Plugins und anderen Projekten. Sie können diese Plugins von SourceForge herunterladen .

Geben Sie hier die Bildbeschreibung ein

Du brauchst XML Tools Ihren Text in n ++ formatieren

Nachdem Sie heruntergeladen haben XML Tools..

Beenden Sie Notepad ++

Gehe zu C:\Program File\Notepad++.... Dein in N ++ installierter Ordner.

  1. Platzieren Sie die folgenden Dateien von XML-Tools, die Sie heruntergeladen haben, im npp-Stammordner von copy replace

Geben Sie hier die Bildbeschreibung ein

  1. Gehen Sie zum ..\PluginsUnterordner und platzieren Sie ihn unter der heruntergeladenen Datei

Geben Sie hier die Bildbeschreibung ein

Neustart und genießen !!!

Ctrl+ Alt+ Shft+ Bzum Formatieren.

Ein Java-Typ
quelle
4
Ich habe anscheinend keinen Plugin-Manager - ich habe Notepad ++ 7.3.3.
Eule
14

Es ist das dritte Mal, dass ich Windows und npp installiere und nach einiger Zeit stelle ich fest, dass die ordentliche Funktion nicht mehr funktioniert. Also google ich nach einer Lösung, komme zu diesem Thread und behebe ihn dann mit Hilfe einiger weiterer Threads. Ich werde ein für alle Mal eine Zusammenfassung aller meiner Aktionen erstellen.

  1. Installieren Sie das TextFX-Plugin: Plugins -> Plugin Manager -> Plugin Manager anzeigen. Wählen Sie TextFX-Zeichen und installieren Sie. Nach einem Neustart von npp sollte das Menü 'TextFX' sichtbar sein. (Credits: @remipod).

  2. Installieren Sie libtidy.dll, indem Sie den Ordner Config aus einem alten npp-Paket einfügen: Befolgen Sie die Anweisungen in dieser Antwort .

  3. Nachdem sich in Ihrem neuesten npp-Installationsziel ein Konfigurationsordner befindet (normalerweise C: \ Programme (x86) \ Notepad ++ \ plugins), benötigt npp Schreibzugriff auf diesen Ordner. Klicken Sie mit der rechten Maustaste auf Konfigurationsordner -> Eigenschaften -> Registerkarte Sicherheit -> wählen Sie Benutzer aus, klicken Sie auf Bearbeiten -> Aktivieren Sie die Option Vollzugriff, um Lese- / Schreibzugriff zuzulassen. Beachten Sie, dass Sie dazu Administratorrechte benötigen.

  4. Starten Sie npp neu und überprüfen Sie TextFX -> TextFX HTML Tidy -> Tidy: Reindent XML funktioniert.

Vladimir Grigorov
quelle
Wenn Sie die Einstellung "allowAppDataPlugins" verwenden (Plugins pro Benutzer zulassen ), können Sie dies tun, indem Sie den aufgeräumten Ordner aus Schritt 2 in Ihr Verzeichnis der Benutzer-Plugins
legen
@palswim: Schön, danke! Ihre Lösung ist sauberer, wenn ein Benutzer die npp verwendet.
Vladimir Grigorov
9

Notepad ++ bietet standardmäßig keine solche Funktion. Sie können jedoch einige Online-Tools verwenden, um Text wie https://www.freeformatter.com/xml-formatter.html automatisch zu formatieren .

Es hilft. :) :)

Daksh Agrawal
quelle
2
Obwohl diese Antwort eher eine Problemumgehung als eine Lösung für die OP-Frage ist, hat sie nur für mich funktioniert. Sowohl XML Tools als auch Tidy2 haben Probleme.
Nigel Alderton
8

Ich musste die Proxy-Einstellungen aktualisieren unter Plugins -> Plugin Manager -> Show Plugin Manager -> Einstellungen aktualisieren, um alle PlugIns in der Liste "Verfügbar" anzuzeigen.

Danach war die Installation von "XML Tools" einfach und führte die angeforderte Aufgabe wie oben beschrieben aus.

Oliver Meyer
quelle
Bei Verwendung von "XML Tools" entsprach der Einzug nicht den Anforderungen für HTML + Javascript-Code. Das gefundene "UniversalIndentGUI" -Plugin erledigt den Job gut, indem es die Sprache auf HTB (HTML, XML, XSL) setzt und dann im Plugins-Menü "Text einrücken" ausführt.
GuruM
6

Um das OP direkt zu beantworten, werfen Sie einen Blick auf die Website dieses Typen: Thomas Hunter Notepad ++ Tidy for XML . Einfache Schritte zu befolgen und Sie erhalten eine sehr schöne Formatierung Ihres XML direkt in NPP. Bisher habe ich nur Anomalien mit verschachtelten selbstschließenden Elementen gefunden. EG:

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

Wird aufgeräumt bis:

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

Es gibt vielleicht eine Möglichkeit, dies zu beheben, aber vorerst ist es gelungen, die Anzahl der Zeilen in meinem Dokument um 300.000 zu reduzieren, und diese spezielle Anomalie kann umgangen werden.

delliottg
quelle
1

Ich verwende Notepad 7.6 mit "Plugin Admin" und konnte keine XML-Tools finden.
Ich musste es manuell installieren, wie es @ some-java-guy in seiner Antwort getan hat , außer dass sich mein Plugins-Ordner hier befand: C:\Users\<my username>\AppData\Local\Notepad++\plugins
In diesem Verzeichnis habe ich ein neues Verzeichnis (mit dem Namen XmlTools) erstellt und dort XMLTools.dll kopiert. (Und ich habe alle Abhängigkeiten in das Notepad ++ - Verzeichnis in Programmdateien kopiert.)

Björn
quelle
Mit Notepad ++ v7.8.4 sind "XML Tools" in "Plugin Admin" verfügbar. Vielleicht gab es früher eine Inkompatibilität oder so. Es scheint immer noch, dass es auch aktiv entwickelt wurde, wenn man bedenkt, dass das letzte Commit vor 2 Tagen auf github.com/morbac/xmltools
Micah Lindstrom
1

Installieren Sie einfach den neuesten Notepad ++ und installieren Sie indent By fold. Wählen Sie in der Menüleiste Plugins -> Plugins Admin und wählen Sie Einzug durch Falten und Installieren. Funktioniert am besten

Daniel Nyamasyo
quelle
Dies sollte jetzt die Antwort des Akzeptors sein, da ich das XML-Tool oder tidy2 nicht zum Laufen bringen kann. Wie auch immer, können wir eine Verknüpfung für diese Verwendung zuweisen?
Irfandi D. Vendy
Die neueste Version von Notepad ++ (7.8.6) ist sehr enttäuschend. Ich habe versucht, IndentByFold in Version 7.5.6 zu installieren, und es hat das wunderbare AutoSave-Plugin von Franco Stellari, https://sites.google.com/site/fstellari/nppplugins, beschädigt . Entschuldigung: Für mich ist das ein Deal-Breaker. (!) Mit IndentByFold von Frank Fesevur ist an sich wahrscheinlich nichts falsch. Vorerst beschuldige ich die neueste Version von Notepad ++, https://community.notepad-plus-plus.org/topic/16449 . Mitleidig.
Henke
Bei mir hat es funktioniert. Ich benutze v7.8.4
Daniel Nyamasyo
Ich riskiere, hier vom Thema abzukommen , aber wenn jemand eine Version von Notepad ++ später als 7.5.6 melden kann, die mit dem AutoSave 1.60-Plugin von Franco Stellari funktioniert, https://sites.google.com/site/fstellari/nppplugins , I. würde gerne zu dieser Version wechseln. Wenn nicht, kann ich Notepad ++ 7.5.6 auf keinen Fall auf eine spätere Version aktualisieren. Version 0.7 von IndentByFold funktioniert auch für mich. Ich lehne es jedoch ab, Leerzeichen in leere Zeilen zu setzen, was IndentByFold tut.
Henke
Meine Notepad ++ Version ist 7.5.6. Ich habe jetzt versucht, 1) XML-Tools, 2) HTML Tidy, 3) Tidy2 und 4) IndentByFold 0.7. XML Tools "funktioniert", macht aber einen bedauerlichen Fehler in meinem HTML-Code https://i.imgur.com/oLOB30Z.png . Weder HTML Tidy noch Tidy2 funktionieren überhaupt. IndentByFold 0.7 ist die einzige Lösung, die ich zur Arbeit bringen kann. Ich mag es nicht, dass Leerzeichen in Leerzeilen gesetzt werden, aber damit kann ich leben. Ich unterstütze diese Antwort immer noch nicht (von Daniel Nyamasyo). Der Grund dafür ist , dass ich stark mit dem Rat nicht zustimmen , die verwenden neuesten Version von Notepad ++.
Henke