Comment formater XML dans Notepad ++?

1739

J'ai Notepad ++ et j'ai reçu du code XML qui est très long. Quand je l'ai collé dans Notepad ++, il y avait une longue ligne de code (difficile à lire et à travailler).

Je veux savoir s'il existe un moyen simple de rendre le texte lisible (par lisible, je veux dire du code correctement tabulé).

Je peux le faire manuellement, mais je veux une solution permanente à cela car je l'ai fait face à plusieurs reprises. Je suis sûr qu'il existe un moyen de le faire comme je l'ai fait une fois avant quelques années, peut-être avec Visual Studio ou un autre éditeur, je ne me souviens pas.

Mais Notepad ++ peut-il le faire?

happyhardik
la source
3
La configuration des XMLTools est un peu délicate avec les dernières versions. Dans Windows 10, Notepad ++ version V6.6.8, j'ai correctement configuré XMLTools 2.4.7. Téléchargez le dernier plugin à partir de ce lien et suivez les instructions dans install.txt> notepad-plus-plus.org/community/topic/125/… .
S.Roshanth
1
Solution actuelle pour la version 64 bits: superuser.com/q/1239935/333622
Raidri prend en charge Monica

Réponses:

2438

Essayez les plugins -> Outils XML -> Pretty Print (libXML) ou (XML uniquement - avec des sauts de ligne Ctrl+ Alt+ Shift+ B)

Vous devrez peut-être installer XML Tools à l'aide de votre gestionnaire de plugins afin d'obtenir cette option dans votre menu.

D'après mon expérience, libXML donne une sortie agréable, mais uniquement si le fichier est correctement formé à 100%.

erjiang
la source
635
si vous ne trouvez pas XML Tools sous Plugins, installez-le depuis Plugins> Plugins Manager> Show Plugins Manager
ala
30
Si vous obtenez l'erreur "Erreurs détectées dans le contenu" lorsque vous essayez d'utiliser ce plugin, essayez XML Tools -> Check XML syntax now. J'ai eu un problème où l'encodage était spécifié comme UTF-16 mais était en fait UTF-8. La modification de l'attribut de codage dans le fichier XML a résolu le problème.
Mirza Dobric
153
Et si votre Plugins Manager ne trouve pas les outils XML parce que vous êtes derrière un proxy au travail, téléchargez-le à partir d'ici sourceforge.net/projects/npp-plugins/files/XML%20Tools Copiez ensuite XMLTools.dll dans le répertoire des plugins et le reste des quatre DLL dans le répertoire racine Notepad ++.
Amit Naidu
15
Si vous ne voyez aucun plugin disponible, allez dans "mises à jour" et mettez à jour votre gestionnaire de plugins.
Surasin Tancharoen
37
... ET si vous n'avez pas de plugin Plugin Manager, vous pouvez l'obtenir à partir d'ici: github.com/bruderstein/nppPluginManager/releases
Zbigniew Wiadro
111

Vous devez installer l'outil XML à partir de l' élément de menu PluginsGestionnaire de pluginsAfficher le gestionnaire de plugins, puis vérifiez les outils XML, installez-le puis Ctrl+ Alt+ Shift+ BOU l'option pour l'outil XML ci-dessus apparaît.

abhi
la source
80
Step 1: Install XML Tools plugin
Step 2: Format ....completed

entrez la description de l'image ici

iCrazybest
la source
2
bonne réponse, mais je n'ai pas le "Plugin Manager" o_O Quelqu'un peut-il aider? A-t-il été retiré entre-temps?
fl0w
a fonctionné pour moi..Pour les nouvelles versions de notepad ++, utilisez le plugin admin au lieu du plugin manager
Jayani Sumudini
42

Essayez TextFX → TextFX Html Tidy → Tidy: XML réindenté

Si vous ne pouvez pas essayer avec Eclipse, faites le bon bouton, la source et corrigez le retrait.

Torres
la source
2
Merci pour la réponse mais je ne trouve pas Tidy: réindentez XML dans mon menu TextFX Html Tidy. Pouvez-vous me dire ce qui me manque?
happyhardik
3
Si vous n'avez pas d'option globale "TextFX", vous devez installer le plugin nommé TextFX. Mais cela ne suffit pas, apparemment, les versions 6.x manquent également le téléchargement de libtidy.dll, vous devez donc passer par des cerceaux pour l'obtenir. Ensuite, vous aurez une option XML Tidy: reindent (je présume)
rogerdpack
1
J'ai une telle option mais cela ne fait rien (et ne donne aucun message d'erreur).
Danubian Sailor
Pour tous ceux qui se demandent, les cerceaux mentionnés par @rogerdpack sont discutés ici
Steve Chambers
1
Le principal problème que j'ai avec TidyXML est qu'il est incroyablement lent pour tout fichier de plus d'un mégaoctet ou deux.
TS
33

Plugins -> Outils XML -> Pretty Print (libXML) ou Ctrl+ Alt+ Shift+B

Vous devrez probablement installer le plugin:

Plugins> Gestionnaire de plugins> Afficher le gestionnaire de plugins

Si vous êtes derrière un proxy, téléchargez-le à partir d' ici .

Copiez ensuite XMLTools.dlldans le répertoire des plugins et les bibliothèques externes (quatre dll) dans le répertoire racine Notepad ++.

jbigman
la source
19

Voici la plupart des plugins que vous pouvez utiliser dans Notepad ++ pour formater votre code XML.

  • UniversalIndentGUI
    (je recommande celui-ci)

Activer la «mise à jour automatique du texte» dans le gestionnaire de plugins-> UniversalIndentGUI
Shortkey = CTRL+ ALT+ SHIFT+J

  • TextFX
    (c'est l'outil que la plupart des utilisateurs utilisent)

Raccourci clavier = CTRL+ ALT+ SHIFT+B

  • Outils XML
    (plugin personnalisé pour XML)

Raccourci clavier = CTRL+ ALT+ SHIFT+B

Sameera R.
la source
1
Lorsque j'utilise UniversalIndentGUI pour indenter une grande ligne de XML, cela ne fonctionne pas. Je n'ai aucun changement.
Alex
1
J'ai vérifié à nouveau et cela ne fonctionne pas juste après l'installation du plugin. Vous devez modifier les paramètres du plugin, aller dans les options de retrait XML et cocher l'option Forcer la nouvelle ligne. Maintenant ça marche. Merci pour les conseils car cela aide pour XML pas correct à 100% :)
Alex
UniversalIndentGUI a fonctionné pour moi là où d'autres options ont échoué, je ne sais pas pourquoi, sauf que le fichier XML que je prettifiais était de 40 Mo plus. C'était aussi extrêmement rapide. Props à Alex pour la pointe de l'option de nouvelle ligne de force XML.
Branstar du
TextFX a été supprimé - de Future TextFX : "... adieu à un cheval de bataille vieillissant qui a bien servi la communauté."
Peter Mortensen
15

Toutes les réponses précédentes ne définissent pas comment ajouter le gestionnaire de plugins dans votre installation Notepad ++.

C'est pour les gens qui ne voient pas le gestionnaire de plugins dans l'onglet plugin

Téléchargez le gestionnaire de plugins à partir de ce lien - c'est pour le gestionnaire de plugins 64 bits . Une fois que vous avez téléchargé le gestionnaire de plug-ins, collez-le dans le dossier des plug-ins. C'était mon emplacement de dossier de plugin:C:\Program Files\Notepad++\plugins

Entrez la description de l'image ici

Après avoir collé le fichier .dll, redémarrez Notepad ++. Vous pouvez maintenant installer n'importe quel plugin. Pour installer un plugin, cliquez sur l'onglet plugin, puis allez dans le gestionnaire de plugins et sélectionnez le plugin que vous voulez.

Varun
la source
14

Pour de meilleurs résultats, vous devez utiliser à la fois les outils XML de rangement TextFX et XML. Voici comment et pourquoi:

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

TextFX a l'avantage d'habiller de longues lignes, ce que les outils XML ne font pas, mais il ne met pas en retrait ces nouvelles lignes correctement.

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

Les outils XML complètent TextFX en indentant bien les nouvelles lignes encapsulées.

Un étudiant Noob
la source
J'essayais de comparer 2 fichiers de configuration d'environnement différents ... qui avaient environ 10 paramètres différents ... mais les attributs xml étaient sur une seule ligne dans un fichier et sur des lignes différentes dans l'autre fichier xml. Ce n'est qu'en faisant les deux que les différences réelles sont apparues sur un outil de comparaison de fichiers. Merci.
granadaCoder
1
TextFX a été supprimé - de Future TextFX : "... adieu à un cheval de bataille vieillissant qui a bien servi la communauté."
Peter Mortensen
9

Si vous obtenez cette erreur:

Erreur Notepad ++: impossible de charger le plug-in 32 bits

Impossible de charger le plug-in 32 bits, XMLTools.dll n'est pas compatible avec la version actuelle de Notepad ++

Vous trouverez ici une version de travail pour Windows 10 x64: Xml Tools 2.4.9.2 Unicode

Remarque: C'est la seule version que j'ai trouvée fonctionnant sur Windows 10 Professionnel x64.

ᗩИ Ꭰ ЯƎᗩ
la source
7

OK, voici comment je l'ai fait dans Notepad ++:

  • Plugins
  • Gestionnaire de plugins
  • Afficher le gestionnaire de plugins
  • Vérifier les outils XML
  • Installer
  • Redémarrez le bloc-notes ++
  • Ouvrir un fichier XML
  • Plugins
  • Outils XML
  • Jolie impression (XML uniquement - avec des sauts de ligne)
Michael B
la source
5

Vous pouvez trouver des détails ici Pour formater rapidement XML en utilisant Pretty Print (libXML)

Installation des outils XML

Si vous exécutez Notepad ++ et regardez dans le menu Plugins, vous verrez que les outils XML ne sont pas là:

  1. Téléchargez les outils XML d' ici .

  2. Décompressez le fichier et copiez XMLTools.dll dans le dossier des plug-ins Notepad ++ (dans l'exemple ci-dessus: C: \ Program Files (x86) \ Notepad ++ \ plugins):

  3. Redémarrez Notepad ++ et vous devriez maintenant voir les XMLTools apparaître dans le menu Plugins.

  4. Décompressez le fichier ext_libs.zip, puis copiez les DLL décompressées dans le répertoire d'installation de Notepad ++ (dans l'exemple ci-dessus: C: \ Program Files (x86) \ Notepad ++).

  5. Redémarrez Notepad ++ et vous devriez enfin voir le menu XML Tools approprié.

  6. La fonctionnalité que j'utilise le plus est "Pretty print (XML uniquement - avec des sauts de ligne)". Cela formatera n'importe quel morceau de XML avec tout l'espacement de ligne approprié.

Thanga
la source
4

Notepad ++ v6.6.3 avec le plugin "XML Tools" et le raccourci Ctrl+ Alt+ Shift+ Bfonctionne très bien.

hoggar
la source
3

Il n'y a rien de tel que TextFX dans Notepad ++, pas dans la dernière version au moins. C'est l'une des raisons pour lesquelles je suis toujours avec DreamWeaver, même si cela me rend fou d'être lent et de ne pas répondre de temps en temps ...

Snowalker
la source
oui, les choses ont beaucoup changé dans la nouvelle version, mais je n'ai toujours pas pu le résoudre!
happyhardik
4
pour les versions 5.9.x, allez dans plugins -> plugin manager -> show plugin manager et vous pouvez l'ajouter à partir d'ici
Ralph Willgoss
1
La possibilité d'ajouter ou de ne pas ajouter certaines fonctionnalités peut être étrange au début, MAIS c'est pourquoi tant de gens UTILISENT Notepad ++ sur des produits beaucoup plus volumineux comme DreamWeaver! VOUS décidez de la maigreur ou de la graisse de votre programme plutôt que de laisser l'évier de cuisine charger toute la journée ... (et, cela aurait dû être un commentaire plutôt qu'une réponse soumise)
BillyNair
3

La dernière version de Notepad ++ x64 v7.6.2 sur Windows 10 a déjà déplacé le gestionnaire de plugins vers 'Plugins Admin'.

Les anciennes versions de Notepad ++ et du gestionnaire de plugins ne fonctionneront pas.

Denis Wang
la source
2

"Mais Notepad ++ peut-il le faire?"

Si le XML n'est pas valide, la réponse est apparemment «non». J'ai essayé Notepad ++ avec les plugins Tidy2 et XMLTools. Les deux donnent des erreurs similaires à "erreurs rencontrées, veuillez corriger". Si vous ne vous souciez pas des erreurs, c'est un PITA.

Au lieu de cela, ouvrez-le dans Visual Studio, puis modifiez -> Avancé -> Format du document. Rapide et joli.

phish_bulb
la source
1
XMLTools se plaindra s'il n'y a pas d'élément racine. Si votre XML est par ailleurs valide, vous pouvez le corriger en ajoutant simplement quelque chose comme <root>/ </root>en haut / en bas.
John Fouhy
2

Si votre XML est imparfait, essayez ceci avec le plugin TextFX Characters (installez à partir du gestionnaire de plugins):

Tout d'abord, trouvez un ">" à copier dans le presse-papiers. Sélectionnez ensuite TOUT votre texte, puis ...

Dans le menu principal: TextFX -> TextFX Edit -> Solit lines at clipboard char ...

Cela fera un travail raisonnable, pas parfait, mais les choses seront au moins lisibles.

J'ai dû le faire avec du code XML stocké dans une base de données SQL Server , où les en-têtes n'étaient pas stockés, juste le corps XML ...

Banzai
la source
TextFX a été supprimé - de Future TextFX : "... adieu à un cheval de bataille vieillissant qui a bien servi la communauté."
Peter Mortensen
2

Comme je vois beaucoup de commentaires sur les personnes ayant des problèmes avec le plugin, j'ai pensé mentionner le travail que j'utilise.

J'utilise simplement l'un des sites en ligne pour la visualisation XML (j'utilise https://codebeautify.org/xmlviewer , mais il y en a beaucoup) comme suit:

  1. Collez le contenu XML dans la fenêtre d'entrée
  2. Cliquez sur le bouton "Embellir / Formater"
  3. Copiez la sortie XML formatée de la fenêtre de résultats
  4. Coller dans le bloc-notes ++

Je ne sais pas si cela répond exactement à la question de l'OP, mais c'est très simple et facile pour quiconque a des problèmes avec le plugin.

rsmith
la source
9
Ne faites cela que si votre xml ne contient aucune donnée sensible / privée
Patman
1

UniversalIndentGUI a fait le travail pour moi, une fois configuré correctement comme décrit ci-dessus .

TextFX ne s'installerait pas et ne fonctionnerait pas correctement sur un ancien PC que j'utilise Windows XP. Il existe des instructions ci-dessus pour l'installation manuelle de divers fichiers DLL, mais je préfère éviter toute installation manuelle.

UniversalIndentGUI a formaté certaines lignes comme ceci:

        <ClockStatus>1
        </ClockStatus>

Et j'aurais préféré:

        <ClockStatus>1</ClockStatus>

Mais la sortie est encore bien meilleure qu'une longue ligne!

Ivan
la source
1

Vous ne pouvez pas, étant donné que vous n'avez pas accès à l'installation de plugins. Mais vous avez probablement ou pouvez obtenir Eclipse (Visual Studio peut aussi le faire).

Ctrl+ N(nouveau fichier) → (choisissez un fichier XML) → (collez votre contenu XML) → Ctrl+ Shift+ K(format)

Si vous souhaitez formater JSON NotePad ++, vous pouvez le faire par défaut avec Ctrl+ Alt+m

Philip Rego
la source