Plugin Emmet officiel pour Sublime Text.
Attention : ce plugin peut ne pas fonctionner du tout dans certains systèmes d'exploitation car il est écrit en JavaScript et utilise les binaires PyV8 et Google V8 pour s'exécuter. Si vous rencontrez des problèmes ou des plantages de l'éditeur, veuillez remplir un problème.
Avec contrôle des packages :
Emmet
.Manuellement:
AVERTISSEMENT : lorsque le plugin est installé, il téléchargera automatiquement le binaire PyV8 requis, vous devrez donc attendre un peu (voir Chargement du message binaire PyV8 sur la barre d'état). Si vous rencontrez des problèmes avec le chargeur automatique PyV8, essayez de l'installer manuellement.
Actions d'augmentation/décrémentation du nombre :
Vous pouvez facilement étendre Emmet avec de nouvelles actions et filtres ou personnaliser ceux existants. Dans Emmet.sublime-settings
, définissez le paramètre extensions_path
et Emmet chargera tous les fichiers .js
et .json
dans le dossier spécifié au démarrage.
La valeur par défaut de extensions_path
est ~/emmet
, qui pointe vers le dossier emmet dans le dossier personnel de l'utilisateur de votre système d'exploitation.
En outre, vous pouvez créer des sections nommées comme fichiers d'extension (par exemple, snippets
, preferences
et syntaxProfiles
) dans le fichier Emmet.sublime-settings
de l'utilisateur et y écrire vos personnalisations. Voir le fichier de paramètres d'origine pour des exemples.
Sublime Text est un excellent éditeur de texte doté de nombreuses fonctionnalités et actions. La plupart de ces actions sont liées à des raccourcis clavier, il est donc presque impossible de fournir des raccourcis pratiques pour les plugins tiers.
Si vous n'êtes pas satisfait du clavier par défaut, vous pouvez désactiver les raccourcis clavier individuels avec la préférence disabled_keymap_actions
du fichier Emmet.sublime-settings
.
Utilisez une liste de noms d'actions séparés par des virgules dont les raccourcis clavier par défaut doivent être désactivés. Par exemple, si vous souhaitez supprimer les raccourcis Ctrl+E (« Développer l'abréviation ») et Ctrl+U (« Mettre à jour la taille de l'image »), vous devez définir la valeur suivante :
"disabled_keymap_actions": "expand_abbreviation, update_image_size"
Vous devez vous référer au fichier Default (Your-OS-Name).sublime-keymap
pour obtenir les identifiants d'action (recherchez args/action
).
Pour désactiver tous les raccourcis par défaut, définissez la valeur sur all
:
"disabled_keymap_actions": "all"
Non pas que si vous avez désactivé une action de ce type et que vous créez votre propre raccourci clavier, vous ne devez pas utiliser le contexte emmet_action_enabled.ACTION_NAME
puisque c'est la touche qui désactive l'action.
Emmet développe les abréviations dans des syntaxes limitées uniquement : HTML, CSS, LESS, SCSS, Stylus et PostCSS. La raison pour laquelle le gestionnaire de tabulations est limité à une liste de syntaxe limitée est qu'il brise les extraits de texte natifs de Sublime Text.
Si vous souhaitez abréger avec Tab dans d'autres syntaxes (par exemple, JSX, HAML, etc.), vous devez modifier les paramètres de vos raccourcis clavier : ajoutez la commande expand_abbreviation_by_tab
pour la touche tab
pour les sélecteurs de portée de syntaxe requis. Pour obtenir le sélecteur de portée de syntaxe actuel, appuyez sur ⇧⌃P (OSX) ou Ctrl+Alt+Shift+P , il sera affiché dans la barre d'état de l'éditeur.
Accédez à Preferences
> Key Bindings — User
et insérez l'extrait JSON suivant avec le sélecteur de portée correctement configuré au lieu du jeton SCOPE_SELECTOR
:
{
"keys" : [ "tab" ] ,
"command" : "expand_abbreviation_by_tab" ,
// put comma-separated syntax selectors for which
// you want to expandEmmet abbreviations into "operand" key
// instead of SCOPE_SELECTOR.
// Examples: source.js, text.html - source
"context" : [
{
"operand" : "SCOPE_SELECTOR" ,
"operator" : "equal" ,
"match_all" : true ,
"key" : "selector"
} ,
// run only if there's no selected text
{
"match_all" : true ,
"key" : "selection_empty"
} ,
// don't work if there are active tabstops
{
"operator" : "equal" ,
"operand" : false ,
"match_all" : true ,
"key" : "has_next_field"
} ,
// don't work if completion popup is visible and you
// want to insert completion with Tab. If you want to
// expand Emmet with Tab even if popup is visible --
// remove this section
{
"operand" : false ,
"operator" : "equal" ,
"match_all" : true ,
"key" : "auto_complete_visible"
} ,
{
"match_all" : true ,
"key" : "is_abbreviation"
}
]
}
Le plugin Emmet vous permet de développer les abréviations avec la touche Tab , tout comme les extraits de code classiques. D’un autre côté, en raison de la nature dynamique et de la syntaxe étendue, vous pouvez parfois obtenir des résultats inattendus. Cette section décrit le fonctionnement du gestionnaire de tabulations et comment vous pouvez l'affiner.
Par défaut, le gestionnaire Tab fonctionne dans des étendues de syntaxe limitées : HTML, XML, HAML, CSS, SASS/SCSS, LESS, PostCSS et chaînes dans les langages de programmation (comme JavaScript, Python, Ruby etc.). Cela signifie :
line
qui génère la sortie sur une seule ligne. Pour affiner le gestionnaire de touches Tab, vous pouvez utiliser les paramètres suivants dans le fichier Emmet.sublime-settings
de l'utilisateur :
disable_tab_abbreviations_for_scopes
— une liste de portées de syntaxe séparées par des virgules dans lesquelles le gestionnaire de touches de tabulation doit être désactivé. Par exemple, si vous souhaitez désactiver le gestionnaire dans les chaînes des langages de programmation et la syntaxe HAML, votre paramètre ressemblera à ceci : "disable_tab_abbreviations_for_scopes" : " text.haml, string "
disabled_single_snippet_for_scopes
— une liste de portées de syntaxe séparées par des virgules où le gestionnaire de tabulation doit être désactivé lors du développement d'une seule abréviation. Actuellement, ST ne fournit pas d'API pour obtenir la liste des extraits de code natifs. Ainsi, par exemple, si vous essayez de développer une abréviation php
, elle sera transmise à Emmet qui affichera
au lieu du bloc PHP tel que défini dans les extraits de code ST natifs. Pour contourner le problème, si vous essayez de développer une seule abréviation dans la portée définie dans le paramètre disabled_single_snippet_for_scopes
, Emmet recherchera d'abord son nom dans son propre catalogue d'extraits, puis dans le paramètre known_html_tags
et s'il n'est pas trouvé, il permet à ST de le gérer et développer l'abréviation native, si elle correspond.known_html_tags
— une liste séparée par des espaces de toutes les balises HTML connues utilisées pour la recherche comme décrit ci-dessus. Si vous n'êtes pas satisfait du comportement du gestionnaire d'onglets Emmet, vous pouvez le désactiver : ajoutez simplement "disable_tab_abbreviations": true
dans le fichier Preferences.sublime-settings
de l'utilisateur.
Si votre flux de travail inclut déjà une tâche automatisée pour le préfixe du fournisseur CSS (telle que Autoprefixer), vous pouvez désactiver l'insertion automatique des préfixes du fournisseur d'Emmet en ajoutant cette option au fichier Emmet.sublime-settings
de votre utilisateur :
{
"preferences" : {
"css.autoInsertVendorPrefixes" : false
}
}