Existe-t-il un moyen simple de reformater mon HTML à partir de Komodo Edit ou d'automatiser le processus contre Tidy? Quelque chose comme le Ctrl +K, Ctrl +D dans Visual Studio serait génial. En cours d'exécution Ubuntu avec Tidy installé.Komodo Edit - Reformatage HTML/Tidy
Répondre
Si vous voulez une solution qui fonctionne tout simplement tout droit, procédez comme suit: Ouvrez le panneau de la boîte à outils sur la droite Cliquez sur l'engrenage et sélectionnez Nouvelle macro, nommez-le comme vous voulez.
Obtenir le code macro ici:
Il comprend le code de http://jsbeautifier.org/ et fonctionne comme un charme ...
suivante consiste à mettre en place une combinaison de touches:
Sélectionnez votre nouvelle macro dans la boîte à outils Maintenant, allez dans les raccourcis clavier
une séquence type et il vous dira si la séquence que vous avez saisi est disponible. J'utilise ctrl +/car ils sont proches les uns des autres.
À la votre!
Vous pouvez configurer une commande à exécuter pour remplacer une sélection de html par la version bien rangée. Appuyez sur Ctl + R pour afficher la fenêtre de commande et entrez tidy -utf8 -asxhtml -i
pour la commande qui met en forme xhtml en retrait à l'aide de l'encodage utf8. Cochez les deux cases «Passer la sélection en entrée» et «Insérer la sortie». Vous pouvez également spécifier des raccourcis clavier personnalisés.
Exemple capture d'écran http://grab.by/8C3t
Je found this formatting script (macro) et adapté pour mon usage personnel avec la dernière Komodo Edit (6.1.0). Cela fonctionne bien et j'ai inclus le formatage JavaScript fourni par un commentateur mais je pense que cela ne fonctionnera qu'avec Komodo IDE. Ce n'est pas important pour mes objectifs. Peut-être quelqu'un peut-il trouver une amélioration universelle (en utilisant quelque chose comme html bien rangé).
komodo.assertMacroVersion(3);
if (komodo.view) { komodo.view.setFocus(); }
var formatter;
var language = komodo.document.language;
switch (language) {
case 'Perl':
formatter = 'perltidy -i=2 -pt=2 -l=0';
break;
case 'XML':
case 'XUL':
case 'XLST':
formatter = 'tidy -q -xml -i -w 80';
break;
case 'HTML':
formatter = 'tidy -q -asxhtml -i -w 120';
break;
//case 'JavaScript':
// ko.views.manager.currentView.scimoz.selectAll();
// ko.views.manager.currentView.scimoz.replaceSel(js_beautify(ko.views.manager.currentView.scimoz.text, {indent_size: 2}));
// return null;
default:
alert("I don't know how to tidy " + language);
return null;
}
//save current cursor position
var currentPos = komodo.editor.currentPos;
try {
// Save the file. After the operation you can check what changes where made by
// File -> Show Unsaved Changes
komodo.doCommand('cmd_save');
// Group operations into a single undo
komodo.editor.beginUndoAction();
// Select entire buffer & pipe it into formatter.
komodo.doCommand('cmd_selectAll');
Run_RunEncodedCommand(window, formatter + " {'insertOutput': True, 'operateOnSelection': True}");
// Restore cursor. It will be close to the where it started depending on how the text was modified.
komodo.editor.gotoPos(currentPos);
// On windows, when the output of a command is inserted into an edit buffer it has unix line ends.
komodo.doCommand('cmd_cleanLineEndings');
}
catch (e) {
alert(e);
}
finally {
// Must end undo action or may corrupt edit buffer
komodo.editor.endUndoAction();
}
Voulez-vous un onglet au lieu d'espaces?
En plus de ce que dit @justquick, faites une recherche/remplacement (Ctrl + h). Remplacement d'un double espace () avec un onglet (
\t
, assurez-vous que l'expression regex est cochée) pour avoir le tabulation html au lieu d'être espacées. Tidy utilise deux espaces par défaut, vous devrez changer votre recherche si vous avez configuré Tidy différemment.
1 Aller Boîte à outils => Ajouter => Nouvelle commande
2 Entrez les arguments de ligne de commande bien rangé dans le champ Exécuter:
tidy -config tidy_config_html.txt
3 Cochez toutes les cases
4 Entrez le chemin à ranger dans le domaine Start In
5 Cliquez sur l'onglet Key Binding
6 Utilisez Ctrl + 1 comme la nouvelle séquence clé
7 Appuyez sur Ctrl + A, Ctrl + 1
La réponse que TAOcode fait est grande, mais dans les versions les plus récentes de Komodo quelques choses ont changé, alors voici ma mise à jour du code pour le rendre à nouveau travail:
komodo.assertMacroVersion(3);
if (komodo.view) { komodo.view.setFocus(); }
var formatter;
var language = komodo.view.language;
switch (language) {
case 'Perl':
formatter = 'perltidy -i=2 -pt=2 -l=0';
break;
case 'XML':
case 'XUL':
case 'XLST':
formatter = 'tidy -q -xml -i -w 500';
break;
case 'HTML':
formatter = 'tidy -q -asxhtml -i -w 120';
break;
//case 'JavaScript':
// ko.views.manager.currentView.scimoz.selectAll();
// ko.views.manager.currentView.scimoz.replaceSel(js_beautify(ko.views.manager.currentView.scimoz.text, {indent_size: 2}));
// return null;
default:
alert("I don't know how to tidy " + language);
return null;
}
//save current cursor position
var currentPos = komodo.editor.currentPos;
try {
// Save the file. After the operation you can check what changes where made by
// File -> Show Unsaved Changes
komodo.doCommand('cmd_save');
// Group operations into a single undo
komodo.editor.beginUndoAction();
// Select entire buffer & pipe it into formatter.
komodo.doCommand('cmd_selectAll');
ko.run.runEncodedCommand(window, formatter + " {'insertOutput': True, 'operateOnSelection': True}");
// Restore cursor. It will be close to the where it started depending on how the text was modified.
komodo.editor.gotoPos(currentPos);
// On windows, when the output of a command is inserted into an edit buffer it has unix line ends.
komodo.doCommand('cmd_cleanLineEndings');
}
catch (e) {
alert(e);
}
finally {
// Must end undo action or may corrupt edit buffer
komodo.editor.endUndoAction();
}
Les grandes différences sont en ligne 5: komodo.document.language devient komodo.view.language et la ligne 40: Run_RunEncodedCommand devient ko.run.runEncodedCommand
- 1. Configurer Komodo Edit pour Python 3.2
- 2. Komodo Edit - l'achèvement du code pour Django?
- 3. Ajout d'un nouveau dossier à Komodo Edit
- 4. Pendant Komodo Edit est-il sur Fedora?
- 5. Comment configurer Komodo edit pour fonctionner avec virtualenv ou rvm?
- 6. Komodo Edit auto-complete ne trouvera pas un module Python
- 7. Komodo Edit 7 Le bouton Exécuter est désactivé
- 8. fichiers en lecture seule icône dans « Lieux » sur Komodo Edit
- 9. Auto-fermeture des balises HTML dans Komodo Edit?
- 10. Comment puis-je obtenir Komodo Edit 7 pour autocomplete C?
- 11. Komodo Edit ne supporte pas l'indication de code shtml?
- 12. Reformatage HTML
- 13. Python + Komodo Modifier
- 14. Komodo Edit - Comment modifier le défaut "Trouver toutes les fonctions" regex
- 15. Comment modifier la taille de la police de saisie semi-automatique sur Komodo Edit 7?
- 16. komodo edit 7.1 ne reconnaît pas les balises html5 en mode php
- 17. Utiliser Komodo Edit et essayer de lier des fichiers HTML/CSS
- 18. Komodo Edit et SSH Private Keyfile dans Pageant pour Amazon EC2
- 19. Est-il possible d'utiliser komodo edit comme git core.editor (c'est-à-dire sans forking)?
- 20. Est-il possible de désactiver des avertissements spécifiques dans Komodo Edit?
- 21. Komodo Edit 8 ne reconnaît pas les tags Django pour les pages HTML5
- 22. Komodo Edit: Comment faire certaines de ces opérations de base Macro et Snippet?
- 23. Komodo Modifier désactiver l'autocomple
- 24. Reformatage de la requête
- 25. cordes monodevelop Reformatage
- 26. Reformatage pour l'affichage paysage
- 27. MonoDevelop: reformatage html?
- 28. Flux de pages jsp rendues via htmltidy
- 29. Utilisation de la classe PHP HTMLTidy
- 30. Komodo modifier -auto-complet enchaîné jquery
Par ailleurs, si vous voulez que la sortie de jsbeautifier ressemble à la mise en forme Ctrl-k, Ctrl-d de Visual Studio, modifiez la macro et allez dans le cas 'JavaScript'. Maintenant, changez l'indent_size à 4, changez le brace_style en "end-expand" et ajoutez "good_stuff: true" à la fin. –