La saisie semi-automatique des balises html dans jsx (sublime text)
Je voudrais être en mesure d'utiliser la saisie semi-automatique de balises html dans mon réagir/jsx code. De la même façon que pour les fichiers html. Puis-je configurer sublime text 3 pour activer les balises de saisie semi-automatique pour jsx fichiers?
- Avez-vous essayé de tout le JSX ou Babel plugins pour voir si elles répondent à vos besoins?
- Oui, je suis l'aide de babel-sublime, il fait un bon travail, mais malheureusement html auto-complétion ne fonctionne pas.
- Je ne crois pas que c'est une fonctionnalité.
- ainsi est-il juste un ensemble de snippents?
- Oui, et peut-être une certaine mise en forme de contrôle.
Vous devez vous connecter pour publier un commentaire.
Intéressant de noter que vous pouvez activer Sublime intégré dans la balise la plus proche dans JSX en copiant et en modifiant légèrement le raccourci clavier pour
/
qui vient avecDefault.sublime-package
. Ajoutez les lignes suivantes à votre custom keymap:En supposant que vous utilisez le package Babel, le sélecteur de
meta.jsx.js
correspondra JSX de syntaxe et d'activer la balise de fermeture de comportement. Le champ nom peut être différent pour d'autres paquets, dans ce cas vous pouvez utiliser ScopeHunter pour inspecter les étendues qui sont appliquées par votre préféré JSX syntaxe.Default.sublime-keymap
dans votre dossier Utilisateur, plutôt que de changer celle de base.Installer:
babel & Emmet
Ajouter ceci dans vos raccourcis clavier de l'Utilisateur
View
. J'typeVi
, puis[Tab]
, puis-je obtenir<Vi><Vi>
et pas<View><View>
. C'est vraiment mauvais comportement.Il ne sera pas automatiquement les supports pour vous, comme type, mais vous pouvez l'utiliser juste Sublime intégré dans la balise de plus près avec commandeoption. pour mac, ou alt. pour windows.
J'ai fortement suggérer la combinaison de babel-sublime et emmet. Si vous spécifiez "JavaScript (Babel)" que votre syntaxe, les deux paquets de travailler ensemble, avec emmet correctement la génération de "className" et "htmlFor" si nécessaire.
Le seul inconvénient est que l'expansion ne fonctionnera pas avec ONGLET, mais avec CTRL+E. Cela est dû à l'ONGLET d'avoir un tas d'autres l'utilisation de JavaScript.
Ctrl-E
très pratique - facile à saisir, facile à retenir. Et je suis heureuxtab
est pas utilisé ! "className" excellent - j'ai pensé que je devrais essayer et de l'écrire moi-même. 🙂 Merci pour votre réponse.Basé sur Daniel réponse, j'ai fait un plugin pour cela.
Source: https://github.com/FMCorz/AutoCloseTags
À installer:
Package Control: Add repository
Package Control: Install package
AutoCloseTags
Si vous avez babel installé le sublime, essayez d'ouvrir votre .js et .jsx fichiers et allez dans affichage > syntaxe > ouvert toute l'actuelle .. > babel > javascript (babel) à la vue correcte de la syntaxe et de l'utilisation de CTRL + E pour l'auto-remplir la balise html à l'intérieur d'ur .jsx
Que d'autres ont suggéré: installer Babel et Emmet !
Emmet Abréviation de la liste
( voir la démo ici ) ( et feuille de triche ici )
Vous n'avez même pas besoin de taper dans les chevrons - Emmet va le faire, la balise de fermeture et bien plus encore!
Utilisation CtrlE d'augmenter l'abréviation.
Emmet docs: la grande à expliquer les abréviations.. , Mais a Échoué à l'état comment "Développer l'Abréviation" - au moins, j'ai été incapable de le trouver.
De Sublime, Je
- ouvert:
Preferences -> Package Settings -> Emmet -> Key Bindings - Default
recherche pour
expand_abbreviation
- trouvé
ctrl+e
Bonheur - Fonctionne comme un Charme 🙂
Je aussi vous recommandons d'installer AutoCloseTags, comme prévu par la FMcorz et Daniel Shannon.
Cette combinaison donne
- la fermeture automatique de (interprété tag en raison de l'imbrication des règles), en tapant simplement
</
, de la grande à la volée, alors que, Emmet va- développer une "abréviation" à pleine ouverture et de fermeture des balises (et plus) en appuyant sur
Crtl-E
. Ce qui est excellent pour la création d'un squelette.