Comment reformater le code HTML en utilisant Sublime Text 2?

J'ai du code HTML mal formaté que je voudrais reformater. Existe-t-il une commande qui reformatera automatiquement le code HTML dans Sublime Text 2 afin qu'il soit meilleur et plus facile à lire?

1193
demandé sur ragnarswanson 2012-01-12 21:49:30

15 réponses

Vous n'avez pas besoin de plugins pour le faire. Il suffit de sélectionner toutes les lignes (Ctrl Un), puis dans le menu, sélectionnez Modifier → Ligne → Reindent. Cela fonctionnera si votre fichier est enregistré avec une extension qui contient du HTML comme .html ou .php.

Si vous faites cela souvent, vous pouvez trouver ce mappage de clé utile:

{ "keys": ["ctrl+shift+r"], "command": "reindent" , "args": { "single_line": false } }

Si votre fichier n'est pas enregistré (par exemple, vous venez de coller un extrait d'une nouvelle fenêtre), vous pouvez définir manuellement la langue pour l'indentation en sélectionnant le menu Affichage → Syntaxe → {[3] } avant de sélectionner l'option reindenter.

1948
répondu peter 2014-10-21 18:56:58

Il y a une demi-douzaine de façons de formater HTML dans Sublime. J'ai testé chacun des plugins les plus populaires (voir le writeup que j'ai fait sur mon blog pour plus de détails), mais voici un aperçu rapide de certaines des options les plus populaires:

Commande Reindent

Avantages:

  • livré avec Sublime, donc aucune installation de plugin nécessaire

Inconvénients:

  • ne supprime pas les lignes vides supplémentaires
  • ne peut pas gérer le HTML minifié, les lignes avec étiquettes
  • ne formate pas correctement les blocs <script>

Étiquette

Avantages:

  • prend en charge ST2 / ST3
  • Supprime les lignes vides supplémentaires
  • Pas de dépendances binaires

Inconvénients:

  • S'étouffe sur les balises PHP
  • ne gère pas correctement les blocs <script>

HTMLTidy

Avantages:

  • gère les balises PHP
  • quelques réglages à modifier formatage

Inconvénients:

  • nécessite PHP (revient au service web)
  • ST2 seulement
  • abandonné?

HTMLBeautify

Avantages:

  • prend en charge ST2 / ST3
  • dépendances simples et sans binaray
  • Support pour OS X, Win et Linux

Inconvénients:

  • S'étouffe un peu avec des commentaires en ligne
  • développe le code minimisé/compressé

HTML-CSS-JS Embellir

Avantages:

  • prend en charge ST2 / ST3
  • gère HTML, CSS, JS
  • grande intégration avec les menus de Sublime
  • Hautement personnalisable
  • paramètres par projet
  • Format sur l'option d'enregistrement

Inconvénients:

  • Nécessite Un Nœud.js
  • pas génial pour PHP intégré

Quel est le meilleur?

HTML-CSS-JS Prettify est le gagnant de mon livre. Beaucoup de fonctionnalités, pas grand chose à redire Au sujet.

353
répondu Josh Earl 2015-08-18 12:21:39

Le seul paquet que j'ai pu trouver est Tag .

Vous pouvez l'installer à l'aide du contrôle package. https://sublime.wbond.net

Après l'installation du contrôle du paquet. Accédez au contrôle des paquets (Préférences -> Contrôle De Paquet ) puis tapez install, appuyez sur entrez . Ensuite, tapez tag et appuyez sur entrez .

Après l'installation de la Balise, mettez le texte en surbrillance et appuyez sur le raccourci Ctrl+Alt+F.

175
répondu dardub 2017-11-14 22:16:54

Je recommande ce plugin: HTML / CSS / JS Prettify , ça marche vraiment.

Après l'installation, sélectionnez simplement le code et appuyez sur Ctrl + Maj + H .

Fait!

46
répondu Peter Zhu 2016-05-24 13:35:29

Juste un conseil général. Ce que j'ai fait pour auto-ranger mon HTML, c'était installer le paquet HTML_Tidy, puis ajouter le keybinding suivant aux paramètres par défaut (que j'utilise):

{ "keys": ["enter"], "command": "html_tidy" },

Ceci exécute HTML bien rangé avec chaque entrée. Il peut y avoir des inconvénients à cela, je suis assez nouveau pour me sublimer, mais il semble faire ce que je veux:)

39
répondu Anneke 2012-11-01 15:17:52

Bien que la question soit pour HTML, je voudrais également donner des informations sur la façon de auto-formater votre code Javascript pour le texte Sublime 2;

Vous pouvez sélectionner tout votre code (ctrl + A ) et utilisez la fonctionnalité in-app, reindent(Edit -> Line -> Reindent) ou vous pouvez utiliser le plugin de formatage JsFormat pour Sublime Text 2 Si vous souhaitez avoir des paramètres plus personnalisables sur la façon de formater votre code en plus de L'onglet/retrait par défaut du texte Sublime paramètre.

Https://github.com/jdc0589/JsFormat

Vous pouvez facilement installer JsFormat en utilisant le contrôle des paquets (Preferences -> Package Control) ouvrez le contrôle du paquet puis tapez install, appuyez sur enter. Ensuite, tapez js format et appuyez sur entrez , Vous avez terminé. (Le contrôleur de paquet affichera l'état de l'installation avec succès et erreurs dans la barre inférieure gauche de Sublime)

Ajoutez la ligne suivante à vos raccourcis clavier (Preferences -> Key Bindings User)

{ "keys": ["ctrl+alt+2"], "command": "js_format"}

Je suis l'aide de ctrl + alt + 2, vous pouvez modifier cette touche de raccourci, ce que vous voulez. Jusqu'à présent, JsFormat est un bon plugin, la peine de l'essayer!

J'espère que cela aidera quelqu'un.

19
répondu Gokhan Tank 2017-03-03 15:50:08

Il y a un plugin appelé SublimeHtmlTidy qui fonctionne assez bien

Https://github.com/welovewordpress/SublimeHtmlTidy

12
répondu Christian Hagelid 2012-09-08 11:00:20

Pour moi, la solution HTML Prettify était extrêmement simple. Je suis allé à la page HTML Prettify .

  1. besoin du Sublime Package Manager
  2. a suivi les Instructions d'installation du gestionnaire de paquets ici
  3. tapé cmd + maj + p pour afficher le menu
  4. Tapé prettify
  5. choisissez la sélection HTML prettify dans le menu

Boum. Faire. Regarde grand

10
répondu insaineyesay 2015-06-02 08:38:03

Allez simplement à

Edit - > Tag- > format automatique des balises sur le document

9
répondu Ricardo Martins 2012-10-09 00:23:20

J'ai créé un paquet appelé HTMLBeautify {[2] } qui fait un travail décent de reformatage HTML. Je l'ai basé sur un script Perl que j'ai trouvé en 1997-je l'ai mis à jour pour fonctionner avec toutes les nouvelles balises modernes. :)

Check it out et laissez-moi savoir ce que vous pensez!

Https://github.com/rareyman/HTMLBeautify

8
répondu Ross 2013-01-21 18:46:39

Je n'ai pas encore le privilège de commenter donc il s'agit simplement d'informations supplémentaires liées à la réponse de @peter ci-dessus.

J'ai trouvé que le HTML ne s'alignait pas comme prévu si IE les commentaires conditionnels dans l'en - tête n'étaient pas complètement en ligne, par exemple à gauche:

<!--[if lt IE 7]>
<p class='chromeframe'>Your browser is <em>unsupported</em>. <a href="http://browsehappy.com/">Upgrade to a different browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to experience this site.</p>
<![endif]-->
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> 
6
répondu newtriks 2017-05-23 12:02:48

Il y a un bon plugin open source CodeFormatter , qui (le long de la réindentation) peut embellir le code sale même si tout est en une seule ligne.

6
répondu side2k 2014-04-23 07:34:39

Je pense que c'est ce que vous cherchez:

Https://github.com/victorporof/Sublime-HTMLPrettify

5
répondu Allen Bargi 2012-01-14 12:59:30

Vous pouvez définir la touche de raccourci F12 facile!!!

{ "keys": ["f12"], "command": "reindent" , "args": { "single_line": false } }

Voir le détail ici.

4
répondu Sumeta Pongpanna 2017-03-03 16:20:26

J'utilise tidy avec un système de construction personnalisé pour simuler le HTML.

J'ai HTMLTidy.sublime-build dans mon répertoire Packages / User/:

{
  "cmd": ["tidy", "-config", "$packages/User/tidy_config.cfg", "$file"]
}

Et tidy_config.fichier cfg dans le même répertoire:

indent: auto
tab-size: 4
show-warnings: no
write-back: yes
quiet: yes
indent-cdata: yes
tidy-mark: no
wrap: 0

Et il suffit de sélectionner construire le système et appuyez sur la touche ctrl+b ou cmd+b reformater le contenu du fichier. Un problème mineur avec cela est que ST2 ne recharge pas automatiquement le fichier donc pour voir les résultats vous devez passer à certains autre fichier et retour (ou à une autre application et retour).

Sur Mac, j'ai utilisé macports pour installer tidy, sous Windows, vous devez le télécharger vous-même et spécifier le répertoire de travail dans le système de construction, où se trouve tidy:

"working_dir": "c:\\HTMLTidy\\"

Ou ajoutez - le au chemin.

3
répondu rchl 2012-02-18 22:55:04