Présentation
Il existe pleins d'outils pour formater son code, et le fichier .editorconfig est l'un des plus simples.
Il force l'IDE à prendre en compte certains réglages, pour s'assurer que tous les devs codent avec les mêmes contraintes. Pour cela, il faut installer l'extension editorconfig, et créer un fichier éponyme.
Pour vous donner un exemple, voici un fichier complet :
Détails
root = true
: Ce fichier est le seul qui sera pris en compte dans le projet. S'il y a des fichiers dans d'autres dossiers, ils seront ignorés.indent_style = tab
: (ouspace
) précise si les espaces qui sont sautés pour l'indentation sont des espaces ou des tabulations.indent_size = 2
: précise de combien d'espace une indentation est composée. une tabulation se règle sur cette indication aussi.end_of_line = crlf
: ( ou lf ou cr) précise comment doit se comporter les fins de lignes. CRLF (pour windows) indique qu'on revient au début et qu'on saute une ligne (\r\n
). Unix (linux et mac aujourd'hui) utilisent juste LF.charset = utf-8
: précise l'encodage de caractères que l'on souhaite avoir.insert_final_newline = true
: précise qu'on ajoute une nouvelle ligne à la fin du fichier.trim_trailing_whitespace = true
: précise qu'on retire tous les espaces en fin de ligne.
Enfin, la notation entre crochets permet de préciser les types de fichiers qui sont concernés par ces règles.
Pour plus de détails, visiter la spécification de editorconfig.
Avantages du fichier .editorconfig
Aujourd'hui les IDE intègrent quasi tous des réglages internes permettant aux devs de paramétrer en local leur machine selon leurs préférences. C'est super, et à première vue, ça pourrait rendre le .editorconfig inutile.
Sauf que justement : si Steven aime indenter à 2, Yanis à 4 et Mylène à 2 ou 4 en fonction des fichiers, et que tous les trois sont amenés à travailler ensemble, ça va être la guerre : à chaque fois que Yanis va passer dans les fichiers de Steven, il va reprendre toute l'indentation, ce qui va créer de faux commits et noyer les modifications utiles dans un flot de mises en page inutile.
C'est précisément à ce moment-là que l'intérêt d'uniformiser la mise en forme se révèle, car aucun des trois n'a besoin de changer ses réglages préférés. Afin de travailler ensemble, ils acceptent de se plier aux règles communes du fichier .editorconfig, qui impose à tout le monde la même mise en page.
Et si un jour, Amel se greffe au projet, elle aussi aura, dès sont pull initial, toutes les indications nécessaires pour respecter la mise en page du projet, sans avoir besoin qu'on lui explique quoi faire !