Jak sformatować XML w Notepad ++?

1739

Mam Notepad ++ i mam bardzo długi kod XML. Kiedy wkleiłem go w Notepad ++, był długi wiersz kodu (trudny do odczytania i pracy).

Chcę wiedzieć, czy istnieje prosty sposób, aby tekst był czytelny (przez czytelny mam na myśli odpowiednio kod tabulowany).

Mogę to zrobić ręcznie, ale chcę to rozwiązać na stałe, ponieważ miałem do czynienia z tym kilka razy. Jestem pewien, że jest na to sposób, ponieważ zrobiłem to już kilka lat temu, może za pomocą Visual Studio lub innego edytora, nie pamiętam.

Ale czy może to zrobić Notepad ++?

happyhardik
źródło
3
Konfiguracja XMLTools jest nieco trudna w przypadku najnowszych wersji. W Windows 10, Notepad ++ wersja V6.6.8 Pomyślnie skonfigurowałem XMLTools 2.4.7. Pobierz najnowszą wtyczkę z tego linku i postępuj zgodnie z instrukcją w install.txt> notepad-plus-plus.org/community/topic/125/... .
S.Roshanth
1
Obecne rozwiązanie dla wersji 64-bitowej: superuser.com/q/1239935/333622
Raidri obsługuje Monikę

Odpowiedzi:

2435

Wypróbuj wtyczki -> Narzędzia XML -> Pretty Print (libXML) lub (tylko XML - z podziałem wierszy Ctrl+ Alt+ Shift+ B)

Może być konieczne zainstalowanie Narzędzi XML za pomocą menedżera wtyczek, aby uzyskać tę opcję w menu.

Z mojego doświadczenia wynika, że ​​libXML daje niezły wynik, ale tylko jeśli plik jest w 100% poprawnie utworzony.

erjiang
źródło
635
jeśli nie można znaleźć XML Narzędzia pod wtyczek nienaruszony to z Plugins> Plugins Manager> Pokaz Wtyczki menedżera
ala
30
Jeśli pojawi się błąd „Wykryto błędy w treści” podczas próby użycia tej wtyczki, wypróbuj Narzędzia XML -> Sprawdź składnię XML teraz. Miałem problem, w którym kodowanie było określone jako UTF-16, ale tak naprawdę było to UTF-8. Zmiana atrybutu kodowania w pliku XML rozwiązała problem.
Mirza Dobric
153
A jeśli menedżer wtyczek nie może znaleźć Narzędzi XML, ponieważ jesteś za serwerem proxy w pracy, pobierz go stąd sourceforge.net/projects/npp-plugins/files/XML%20Tools Następnie skopiuj XMLTools.dll do katalogu wtyczek i pozostałe cztery biblioteki dll do głównego katalogu Notepad ++.
Amit Naidu,
15
Reklama, jeśli nie widzisz żadnej dostępnej wtyczki, przejdź do „aktualizacji” i zaktualizuj menedżera wtyczek.
Surasin Tancharoen
37
... A jeśli nie masz wtyczki Plugin Manager, możesz ją pobrać tutaj: github.com/bruderstein/nppPluginManager/releases
Zbigniew Wiadro
111

Musisz zainstalować narzędzie XML z pozycji menu WtyczkiMenedżer wtyczekPokaż Menedżera wtyczek, a następnie sprawdź narzędzia XML, zainstaluj je, a następnie Ctrl+ Alt+ Shift+ BLUB pojawi się opcja dla powyższego narzędzia XML.

abhi
źródło
79
Step 1: Install XML Tools plugin
Step 2: Format ....completed

wprowadź opis zdjęcia tutaj

iCrazybest
źródło
2
świetna odpowiedź, jednak nie mam „Plugin Managera” o_O Czy ktoś może pomóc? Czy tymczasem został usunięty?
fl0w
pracował dla mnie..Nowe wersje notatnika ++ mają administratora wtyczek zamiast menedżera wtyczek
Jayani Sumudini
42

Spróbuj TextFX → TextFX HTML Tidy → Tidy: reindent XML

Jeśli nie możesz wypróbować Eclipse, zrób prawy przycisk, źródło i popraw wcięcie.

Torres
źródło
2
Dzięki za odpowiedź, ale nie mogę znaleźć Tidy: reindent XML w moim menu TextFX HTML Tidy. Czy możesz mi powiedzieć, czego mi brakuje?
happyhardik,
3
Jeśli nie masz globalnej opcji „TextFX”, musisz zainstalować wtyczkę o nazwie TextFX. Ale to nie wystarczy, najwyraźniej wersje 6.x również nie mają pobrania libtidy.dll, więc musisz przejść przez obręcze, aby go pobrać. Wtedy będziesz miał opcję Tidy: reindent XML (przypuszczam)
rogerdpack
1
Mam taką opcję, ale nic nie robi (i nie wyświetla komunikatu o błędzie).
Danubian Sailor
Dla wszystkich, którzy się zastanawiają, omówione są tutaj
Steve Chambers
1
Głównym problemem, jaki mam z TidyXML, jest to, że jest oszałamiająco wolny dla każdego pliku powyżej jednego lub dwóch meg.
TS
33

Wtyczki -> Narzędzia XML -> Pretty Print (libXML) lub Ctrl+ Alt+ Shift+B

Prawdopodobnie musisz zainstalować wtyczkę:

Wtyczki> Menedżer wtyczek> Pokaż menedżera wtyczek

Jeśli jesteś za serwerem proxy, pobierz go stąd .

Następnie skopiuj XMLTools.dlldo katalogu wtyczek i bibliotek zewnętrznych (cztery biblioteki dll) do głównego katalogu Notepad ++.

jbigman
źródło
19

Oto większość wtyczek, których można używać w Notepad ++ do formatowania kodu XML.

  • UniversalIndentGUI
    (polecam ten)

Włącz „automatyczną aktualizację tekstu” w menedżerze wtyczek-> UniversalIndentGUI
Shortkey = CTRL+ ALT+ SHIFT+J

  • TextFX
    (jest to narzędzie, z którego korzysta większość użytkowników)

Klawisz skrótu = CTRL+ ALT+ SHIFT+B

  • Narzędzia XML
    (dostosowana wtyczka do XML)

Klawisz skrótu = CTRL+ ALT+ SHIFT+B

Sameera R.
źródło
1
Kiedy używam UniversalIndentGUI do wcięcia jednej dużej linii XML, to nie działa. Nie mam zmian.
Alex
1
Sprawdziłem ponownie i to nie działa zaraz po zainstalowaniu wtyczki. Musisz edytować ustawienia wtyczki, przejść do opcji Wcięcie XML i zaznaczyć opcję Wymuś nową linię. Teraz działa. Dzięki za wskazówki, ponieważ pomaga to nie w 100% poprawne XML :)
Alex
UniversalIndentGUI pracował dla mnie tam, gdzie zawiodły inne opcje, nie jestem pewien, dlaczego oprócz tego, że plik XML, który ładowałem, miał 40 MB plus. To było również bardzo szybkie. Rekwizyty dla Alexa dla XML wymuszają zmianę opcji nowej linii.
Branstar
TextFX został wycofany - z TextFX's Future : „... pożegnać się ze starzejącym się koniem, który dobrze służył społeczności”.
Peter Mortensen
15

Wszystkie poprzednie odpowiedzi nie określają sposobu dodawania menedżera wtyczek do instalacji Notepad ++.

To jest dla osób, które nie widzą menedżera wtyczek na karcie wtyczek

Pobierz menedżera wtyczek z tego łącza - dotyczy 64-bitowego menedżera wtyczek . Po pobraniu menedżera wtyczek wklej go w folderze wtyczek. To była moja lokalizacja folderu wtyczki:C:\Program Files\Notepad++\plugins

Wpisz opis zdjęcia tutaj

Po wklejeniu pliku .dll uruchom ponownie Notepad ++. Teraz możesz zainstalować dowolną wtyczkę. Aby zainstalować wtyczkę, kliknij kartę wtyczki, a następnie przejdź do menedżera wtyczek i wybierz dowolną wtyczkę.

Varun
źródło
14

Aby uzyskać najlepsze wyniki, powinieneś używać zarówno narzędzia TextFX XML Tidy, jak i narzędzi XML. Oto jak i dlaczego:

1.TextFX -> TextFX HTML Tidy -> Tidy: reindent XML

TextFX ma tę zaletę, że zawija długie linie, czego nie robi XML Tools, ale nie wcina tych nowych linii poprawnie.

2. XML Tools -> Pretty print (Text indent)

Narzędzia XML uzupełniają TextFX, ładnie wcinając nowo owinięte linie.

Jakiś student Noob
źródło
Próbowałem porównać 2 różne pliki konfiguracyjne środowiska ... które miały około 10 różnych ustawień ... ale atrybuty xml znajdowały się w jednej linii w jednym pliku i na różnych liniach w drugim pliku xml. Dopiero po wykonaniu obu tych czynności pojawiły się rzeczywiste różnice w narzędziu do porównywania plików. Dzięki.
granadaCoder,
1
TextFX został wycofany - z TextFX's Future : „... pożegnać się ze starzejącym się koniem, który dobrze służył społeczności”.
Peter Mortensen
9

Jeśli pojawi się ten błąd:

Błąd Notepad ++: Nie można załadować 32-bitowej wtyczki

Nie można załadować 32-bitowej wtyczki, XMLTools.dll nie jest kompatybilny z bieżącą wersją Notepad ++

Tutaj możesz znaleźć działającą wersję dla systemu Windows 10 x64: Xml Tools 2.4.9.2 Unicode

Uwaga: jest to jedyna wersja, którą znalazłem, działającą w systemie Windows 10 Professional x64.

ᗩИ Ꭰ ЯƎᗩ
źródło
7

OK, oto jak to zrobiłem w Notepad ++:

  • Wtyczki
  • Menedżer wtyczek
  • Pokaż menedżera wtyczek
  • Sprawdź narzędzia XML
  • zainstalować
  • Uruchom ponownie Notepad ++
  • Otwórz plik XML
  • Wtyczki
  • Narzędzia XML
  • Ładny wydruk (tylko XML - z podziałem linii)
Michael B.
źródło
5

Szczegółowe informacje można znaleźć tutaj Aby szybko sformatować XML przy użyciu Pretty Print (libXML)

Instalowanie narzędzi XML

Jeśli uruchomisz Notepad ++ i zajrzysz do menu Wtyczki, zobaczysz, że nie ma tam Narzędzi XML:

  1. Pobierz narzędzia XML stąd .

  2. Rozpakuj plik i skopiuj plik XMLTools.dll do folderu wtyczek Notepad ++ (w powyższym przykładzie: C: \ Program Files (x86) \ Notepad ++ \ plugins):

  3. Uruchom ponownie Notepad ++ i powinieneś zobaczyć, jak XMLTools pojawiają się w menu Wtyczek.

  4. Rozpakuj plik ext_libs.zip, a następnie skopiuj rozpakowane biblioteki DLL do katalogu instalacyjnego Notepad ++ (w powyższym przykładzie: C: \ Program Files (x86) \ Notepad ++).

  5. Uruchom ponownie Notepad ++ i powinieneś wreszcie zobaczyć odpowiednie menu Narzędzi XML.

  6. Najbardziej używam funkcji „Pretty print (tylko XML - z podziałem linii)”. Spowoduje to sformatowanie dowolnego fragmentu XML z odpowiednim odstępem między wierszami.

Thanga
źródło
4

Notepad ++ v6.6.3 z wtyczką „Narzędzia XML” i skrótem Ctrl+ Alt+ Shift+ Bdziała dobrze.

Hoggar
źródło
3

W Notepad ++ nie ma czegoś takiego jak TextFX, przynajmniej w najnowszej wersji. Jest to jeden z powodów, dla których wciąż jestem w DreamWeaver, nawet jeśli doprowadza mnie to do szaleństwa, od czasu do czasu i braku reakcji ...

Snowalker
źródło
tak, wiele się zmieniło w nowej wersji, ale nadal nie byłem w stanie tego rozwiązać!
happyhardik,
4
dla wersji 5.9.x przejdź do wtyczek -> menedżer wtyczek -> pokaż menedżera wtyczek i możesz go dodać tutaj
Ralph Willgoss
1
Możliwość dodawania lub nie dodawania niektórych funkcji może na początku być dziwna, ALE dlatego tak wiele osób korzysta z Notatnika ++ w stosunku do znacznie większych produktów, takich jak DreamWeaver! TY decydujesz, jak cienki lub gruby jest twój program, a nie zlew kuchenny codziennie przez cały dzień ... (i powinien to być komentarz, a nie przesłana odpowiedź)
BillyNair
3

Najnowsza wersja Notepad ++ x64 v7.6.2 na Windows 10 już przeniosła menedżera wtyczek do „Administratora wtyczek”.

Stare wersje Notepad ++ i menedżera wtyczek nie będą działać.

Denis Wang
źródło
2

„Ale czy może to zrobić Notepad ++?”

Jeśli kod XML jest nieprawidłowy, odpowiedź brzmi „nie”. Próbowałem Notepad ++ z wtyczkami Tidy2 i XMLTools. Oba dają błędy podobne do „napotkanych błędów, proszę naprawić”. Jeśli nie przejmujesz się błędami, to jest PITA.

Zamiast tego otwórz go w Visual Studio, a następnie edytuj -> zaawansowane -> formatuj dokument. Szybko i ładnie.

phish_bulb
źródło
1
XMLTools narzeka, jeśli nie ma elementu głównego. Jeśli Twój kod XML jest w inny sposób poprawny, możesz go naprawić, dodając po prostu coś takiego jak <root>/ </root>u góry / u dołu.
John Fouhy,
2

Jeśli kod XML jest niedoskonały, wypróbuj to za pomocą wtyczki Postacie TextFX (zainstaluj z Menedżera wtyczek):

Najpierw znajdź „>”, aby skopiować do schowka. Następnie wybierz CAŁY tekst, a następnie ...

W menu głównym: TextFX -> TextFX Edycja -> Solit wierszy w schowku char ...

To wykona rozsądną robotę, nie idealną, ale wszystko będzie przynajmniej czytelne.

Musiałem to zrobić z kodem XML przechowywanym w bazie danych SQL Server , gdzie nagłówki nie były przechowywane, tylko treść XML ...

Banzai
źródło
TextFX został wycofany - z TextFX's Future : „... pożegnać się ze starzejącym się koniem, który dobrze służył społeczności”.
Peter Mortensen
2

Ponieważ widzę wiele komentarzy na temat osób mających problemy z wtyczką, pomyślałem, że wspomnę o pracy, której używam.

Po prostu używam jednej z witryn internetowych do przeglądania XML (używam https://codebeautify.org/xmlviewer , ale jest ich mnóstwo) w następujący sposób:

  1. Wklej treść XML w oknie wprowadzania
  2. Kliknij przycisk „Upiększ / Formatuj”
  3. Skopiuj sformatowane dane wyjściowe XML z okna wyników
  4. Wklej w Notepad ++

Nie wiem, czy kwalifikuje się to jako odpowiedź na pytanie OP, ale jest to bardzo proste i łatwe dla każdego, kto ma problemy z wtyczką.

rsmith
źródło
9
Zrób to tylko, jeśli twój plik xml nie zawiera żadnych poufnych / prywatnych danych
Patman
1

UniversalIndentGUI wykonał za mnie zadanie, po prawidłowym skonfigurowaniu zgodnie z powyższym opisem .

TextFX nie instaluje się i nie działa poprawnie na starym komputerze z systemem Windows XP. Powyżej znajdują się instrukcje dotyczące ręcznej instalacji różnych plików DLL, ale wolałbym unikać ręcznej instalacji.

UniversalIndentGUI sformatował kilka takich linii:

        <ClockStatus>1
        </ClockStatus>

I wolałbym:

        <ClockStatus>1</ClockStatus>

Ale wynik jest wciąż znacznie lepszy niż jedna długa linia!

Ivan
źródło
1

Nie możesz, pod warunkiem, że nie masz dostępu do instalowania wtyczek. Ale prawdopodobnie masz lub możesz pobrać Eclipse (Visual Studio też może to zrobić).

Ctrl+ N(nowy plik) → (wybierz plik XML) → (wklej treść XML) → Ctrl+ Shift+ K(format)

Jeśli chcesz sformatować JSON NotePad ++, możesz to zrobić domyślnie za pomocą Ctrl+ Alt+m

Philip Rego
źródło