Configuration de VS Code pour le développement React Native

03 octobre 2017

Thibault MOCELLIN
Configuration de VS Code pour le développement React Native

Dans cet article je souhaite partager avec vous ma configuration de VS Code pour le développement d'application React Native. Pour commencer nous allons voir les extensions à installer et ensuite nous verrons comment je configure chacun de mes nouveaux projets pour qu'ils fonctionnent correctement avec les extensions.

Les extensions à installer : React Native Tools Cette extension permet d'ajouter un environnement de développement pour React Native. En utilisant cette extension vous pourrez lancer les commandes react-native depuis la palette de commande VS Code. Cette extension ajoute l' autocomplétion pour les APIs de React Native.

Prettier JavaScript Formatter Extension pour formater notre code JavaScript / CSS / etc... en utilisant le formateur de code Prettier

Flow Language Support Ajoute le support de Flow dans VS Code

Babel ES6/ES7 Ajoute la coloration de la syntaxe pour Babel ES6/ES7

Configuration d'un nouveau projet

Maintenant nous allons voir les différentes étapes de configuration lors de la création d'un nouveau projet.

On commence par créer notre projet :

react-native init VSCodeConfigurationSample

Configuration de ESLint :

Pour la configuration d'ESlint j'utilise la configuration de AirBnb. Les différentes méthodes d'installation sont disponible sur github.

Nous allons voir la méthode la plus générale (mac/windows/linux).

Premièrement il faut lister l'ensemble des dépendances de cette libraire avec la commande suivante :

npm info "eslint-config-airbnb@latest" peerDependencies

Ensuite il faut installer eslint-config-airbnb ainsi que l'ensemble des dépendances listées avec la commande précédente :

yarn add --dev eslint eslint-config-airbnb eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react

Enfin il faut ajouter babel-eslint

yarn add --dev babel-eslint

Maintenant vous devriez avoir un fichier .eslintrc dans votre projet (si ce n'est pas le cas créez le), ajoutez-y la configuration suivante :

{
  "parser":"babel-eslint",
  "extends":"airbnb",
  "plugins":[
    "react",
    "jsx-a11y",
    "import"
  ]
}

Configuration de Prettier

Maintenant nous allons configurer Prettier pour qu'il formate notre code en fonction de nos règles eslint, de plus nous allons configurer VSCode pour que le formatage soit fait automatiquement lorsqu'on enregistre les modifications de notre fichier.

Ajoutez la librairie prettier-eslint

yarn add --dev prettier-eslint

Ensuite on va ouvrir les paramètres utilisateur de VS Code préférences > paramètres ou "CMD + ," puis on ajoute les paramètres suivants :

"editor.formatOnSave": true,
  "javascript.format.enable": false,
  "prettier.eslintIntegration": true,

Ici on indique à VS Code que l'on souhaite que l'éditeur formate le code lorsqu'on sauvegarde, ensuite on désactive le formatage javascript standard et enfin on ajoute l'intégration eslint pour Prettier.

Configuration de Flow Premièrement il faut déterminer quelle version de flow-bin nous devons installer. Pour cela ouvrez le fichier .flowconfig vous devriez trouver la version à la fin du fichier comme ci-dessous :

[version]
^0.49.1

Ensuite il faut installer flow-bin ainsi que babel-preset-flow

yarn add --dev flow-bin@0.49.1 babel-preset-flow

Puis on ajoute Flow comme preset dans notre fichier .babelrc, votre fichier devrait ressembler à celui ci-dessous :

{
  "presets": ["react-native", "flow"],
  "retainLines": true
}

Flow peut être installé de manière globale avec la même configuration pour chaque projet cependant il est préférable de l'installer par projet comme nous l'avons fait et d'avoir une configuration par projet. Cependant dans notre cas nous devons indiquer à VS Code qu'il doit utiliser Flow depuis les package NPM de notre projet.

Ouvrez les paramètres utilisateur et ajoutez-y la ligne suivante :

"flow.useNPMPackagedFlow": true

Enfin il y a un bug connu avec l'extension Flow Language Support la solution pour palier à ce bug est de désactiver la validation de la syntaxe par défaut de VS Code en ajoutant la ligne suivante dans les paramètres utilisateur :

"javascript.validate.enable": false

Extensions Bonus

Les extensions que nous avons vu précédemment sont pour moi des extensions basiques et indispensables pour le développement d'application React Native mais je voulais terminer cet article avec une liste d'extensions que j'utilise en plus et que j'apprécie :

Voila nous avons terminer avec la configuration de VS Code pour le développement d'applications React Native. Si vous avez des extensions que vous utilisez et qui sont intéressantes partagez les dans les commentaires.