Je souhaite ajouter quelques extraits de code personnalisés React.js dans VSCode . Je me rends compte qu'il existe deux fichiers dans VSCode pour cela. javascript.json et javascriptreact.json . javascript.json fonctionne très bien, mais lorsque je déplace les extraits vers javascriptreact.json , VSCode ne les reconnaît pas.
Ce serait formidable si je pouvais isoler ces extraits dans le fichier javacriptreact.json car j'écris également du JavaScript côté serveur.
Je suppose que VSCode ne reconnaît pas l'application en tant qu'application React. Est-il possible de résoudre ce problème?
3 Réponses :
enregistrer le fichier avec l'extension.jsx au lieu de .js. c'est-à-dire que les extraits de code que vous voyez dans javascript.json sont dus au fait que vous modifiez un fichier .js
J'ai récemment rencontré ce problème dans Ubuntu 18.04 , après avoir inclus le code ci-dessous pour mon extrait de code "react-classnames" dans le fichier vscode (ce qui ne me donnait pas le résultat attendu lorsque je saisis un fichier React dans vscode)
~ / .config / Code / User / snippets / javascriptreact.json
"react-classnames": { "prefix": "clmi", "body": [ "className={classes.}" ], "description": "react-classname" },
Donc, dans un fichier .js du composant React lorsque je tape l'extrait de code ('clmi' dans ce cas) - avant l'instruction return () du React Component File, j'obtiens le comportement attendu. Mais si je tape l'extrait de code ('clmi') dans l'instruction return (), je n'obtiens rien. c'est-à-dire que l'extrait de code ne me donne pas l'option de complétion de code dans l'instruction return ().
La source était que VSCode ne reconnaissait pas ce fichier comme étant un type de langage "javascriptreact".
La solution était la suivante
Dans le fichier .js d'un composant React, essayez l'inspecteur de tokens via "F1> Inspect TM Scopes" et positionnez le curseur sur ces positions d'insertion. Cela vous indiquera la langue intégrée détectée. En fonction de votre grammaire, il peut s'agir d'une langue différente
Comme vous pouvez le voir, il ne s'agit pas de JavaScript ni de JavaScript React mais du jsx-attr langue. Alors maintenant, je devais cibler ce type avec l'extrait de vscode
Alors maintenant, je mets l'extrait entier dans le fichier cible de type jsx-attr
~/.config/Code/User/snippets/jsx-attr.json
Et maintenant, les extraits personnalisés fonctionnaient comme prévu.
Lorsque j'ai ajouté l'extrait de code react au fichier jsx.json, la configuration a fonctionné. Cela ne fonctionnait pas lorsqu'il était ajouté à js.json.
Cela a fonctionné:
~/.config/Code/User/snippets/jsx.json
Cela n'a pas fonctionné:
~/.config/Code/User/snippets/js.json