Maison > Article > développement back-end > Association du mode langage VSCode pour les sous-dossiers et les dossiers de caractères spéciaux
Visual Studio Code (VSCode) prend en charge de nombreux formats de fichiers. En fonction du nom de fichier et de l'extension, VSCode trouve le mode de langue. Souvent, à condition que des valeurs par défaut raisonnables soient acceptables. Mais que se passe-t-il si vous souhaitez un mode de langue différent pour différents dossiers ?
VSCode a dans son fichier .vscode/settings.json un objet files.associations. C'est une carte du modèle global au mode langue. Voir la syntaxe du modèle global prise en charge dans la documentation VSCode.
La variante la plus simple. Tous les fichiers nécessitent un mode de langue différent.
Par exemple, lorsque vous stylisez avec Tailwind CSS et que vous installez l'extension Tailwind CSS pour VSCode, vous souhaitez modifier tous les fichiers *.css en mode tailwindcss au lieu de CSS simple.
{ "files.associations": { "*.css": "tailwindcss" } ... }
Il n'est pas rare non plus que les fichiers situés dans certains sous-dossiers nécessitent un mode de langue différent.
Par exemple, lorsque vous thématisez la documentation Sphinx, vous créez de nombreux fichiers HTML qui ne sont pas du HTML pur, mais du HTML Jinja. J'installe l'extension Better Jinja qui fournit le mode jinja-html.
"source/_templates/*.html": "jinja-html``
Plus sûr est d'utiliser ** signifiant n'importe où - sur le chemin ou n'importe quel sous-chemin.
{ "files.associations": { "*.css": "tailwindcss", "source/_templates/**/*.html": "jinja-html` } ... }
Maintenant, la partie délicate que j'ai trouvée lors de la préparation du modèle de démarrage, de nouveaux thèmes Sphinx basés sur le générateur de modèles Cookiecutter.
Les projets Cookiecutter utilisent un dossier nommé {{ cookiecutter.project_slug }}. Seulement en dessous, je veux changer d'association, par ex. pour *.py de py à jinja-py.
L'échappement des caractères spéciaux du modèle global (comme *, {, etc.) n'est pas décrit dans la documentation VSCode, mais c'est possible.
Premièrement, ceux-ci ne fonctionneront PAS :
Le échapper à la barre oblique inverse fera l'affaire ("\{\{ cookiecutter.project_slug \}\}/**/*.css": "tailwindcss"). Par exemple :
{ "files.associations": { // CSS files are Tailwind "\{\{ cookiecutter.project_slug \}\}/**/*.css": "tailwindcss", // HTML files are Jinja "\{\{ cookiecutter.project_slug \}\}/**/*.html": "jinja-html", "\{\{ cookiecutter.project_slug \}\}/**/*.py": "jinja-py", "\{\{ cookiecutter.project_slug \}\}/**/*.toml": "jinja-toml", "\{\{ cookiecutter.project_slug \}\}/**/*.json": "jinja-json" }, ... }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!