Définir des styles de codage cohérents avec EditorConfig
Pour appliquer des styles de codage cohérents pour tout le monde qui fonctionne dans une base de code, vous pouvez ajouter un fichier .editorConfig
à votre solution ou projet. Les paramètres de fichier EditorConfig adhèrent à une spécification de format de fichier conservée par EditorConfig.org. De nombreux éditeurs de code et applications prennent en charge les fichiers EditorConfig, notamment Visual Studio. Étant donné que les paramètres se trouvent dans un fichier, ils accompagnent votre code et peuvent être utilisés même en dehors de Visual Studio.
Dans Visual Studio, les paramètres du fichier EditorConfig sont prioritaires sur les différents paramètres globaux de l’éditeur de texte disponibles sous Outils>Options>Éditeur de texte>C/C++>Style de code. Vous pouvez utiliser un fichier EditorConfig pour personnaliser chaque codebase afin d’utiliser les paramètres de l’éditeur de texte spécifiques à ce projet.
Vous pouvez remplir manuellement un fichier EditorConfig ou le générer automatiquement en fonction des paramètres de style de code que vous avez choisis dans Visual Studio. Pour créer un fichier .editorconfig
basé sur vos paramètres Visual Studio actuels, dans le menu principal de Visual Studio, choisissez Outils>Options>Éditeur de texte>C/C++>Style de code. Choisissez ensuite Générer le fichier .editorconfig à partir des paramètres. Choisissez le dossier dans lequel se trouve votre projet, puis choisissez Sélectionner un dossier pour enregistrer le fichier .editorconfig
.
Lorsque vous utilisez un fichier EditorConfig, vous pouvez continuer à définir vos propres préférences d’éditeur personnel dans l’éditeur de texte Visual Studio. Ces paramètres d’éditeur de texte s’appliquent chaque fois que vous travaillez dans une base de code sans fichier EditorConfig, ou lorsque le fichier EditorConfig ne remplace pas un paramètre particulier. Par exemple, une telle préférence consiste à utiliser des onglets ou des espaces pour le style d'indentation du code.
Lorsque vous ajoutez un fichier EditorConfig à votre projet dans Visual Studio, seules les nouvelles lignes de code sont mises en forme en fonction des paramètres EditorConfig. La mise en forme du code existant n’est pas modifiée, sauf si vous exécutez l’une des commandes suivantes :
-
Sélectionnez Nettoyage de code dans l’éditeur Visual Studio, ou appuyez sur Ctrl+K, Ctrl+E. Cette commande s’applique aux paramètres d’espace blanc, tels que le style de retrait et les paramètres de style de code sélectionnés, tels que les préférences de parenthèses.
Mettre en forme le document.
Sélectionnez Modifier>Avancé>Format de Document, ou appuyez sur Ctrl+K, Ctrl+D dans le profil par défaut. Cette commande s’applique uniquement aux paramètres d’espace blanc, tels que le style de retrait.
Cohérence du code
Les paramètres de fichier EditorConfig vous permettent de conserver des styles et des conventions de codage cohérents dans une base de code, quel que soit l’éditeur ou l’IDE que vous utilisez. Certains styles de codage que vous pouvez contrôler sont le style de retrait, la largeur de tabulation, les caractères de fin de ligne et l’encodage. Par exemple, si votre codebase C# a une convention qui met en retrait cinq caractères d’espace, les documents utilisent l’encodage UTF-8 et les lignes se terminent par CR/LF, vous pouvez configurer un fichier EditorConfig pour utiliser cette convention.
Les fichiers EditorConfig sont utiles lorsque les conventions de codage que vous utilisez sur vos projets personnels diffèrent de celles utilisées sur les projets de votre équipe. Par exemple, vous pouvez préférer qu'une mise en retrait ajoute un caractère de tabulation dans votre code. Toutefois, il se peut que votre équipe préfère qu'une mise en retrait ajoute plutôt quatre espaces. Les fichiers EditorConfig résolvent ce problème en vous permettant d’avoir une configuration pour chaque scénario.
Étant donné qu’un fichier .editorconfig
dans la base de code contient les paramètres EditorConfig, ils se déplacent avec ce codebase. Tant que vous ouvrez le fichier de code dans un éditeur conforme à EditorConfig, les paramètres de l’éditeur de texte sont activés.
Remarque
Les conventions que vous définissez dans un fichier EditorConfig ne peuvent pas être appliquées dans un pipeline CI/CD en tant qu’erreurs de génération ou avertissements. Les écarts de style apparaissent seulement dans l’éditeur Visual Studio et dans la Liste d’erreurs.
Paramètres pris en charge
L’éditeur dans Visual Studio prend en charge l’ensemble principal de propriétés EditorConfig :
- indent_style
- indent_size
- tab_width
- fin de ligne
- charset
- trim_trailing_whitespace
- insérer_nouvelle_ligne_finale
- racine
EditorConfig prend en charge toutes les langues prises en charge par Visual Studio, sauf pour le support des paramètres de l'éditeur EditorConfig pour XML.
EditorConfig prend en charge conventions de style de code, notamment langage, mise en formeet conventions d’affectation de noms pour C# et Visual Basic.
Ajouter et supprimer des fichiers EditorConfig
Lorsque vous ajoutez un fichier EditorConfig à votre projet ou codebase, Visual Studio met en forme toutes les nouvelles lignes de code que vous écrivez en fonction des paramètres du fichier EditorConfig. Toutefois, Visual Studio ne convertit pas les styles existants en styles nouveaux tant que vous n’avez pas mis en forme le document ou exécuté nettoyage du code. Par exemple, si les retraits de votre fichier sont mis en forme avec des onglets et que vous ajoutez un fichier EditorConfig qui met en forme les retraits avec des espaces, les caractères de retrait ne sont pas automatiquement convertis en espaces. Lorsque vous mettez en forme le document (sélectionnez Modifier>>Format de document ou appuyez sur Ctrl+K, Ctrl+D), les paramètres d’espace blanc dans le fichier EditorConfig sont appliqués aux lignes de code existantes.
Si vous supprimez un fichier EditorConfig de votre projet ou codebase, vous devez fermer et rouvrir tous les fichiers de code ouverts pour que les paramètres de l’éditeur global aient un effet sur les nouvelles lignes de code.
Ajouter un fichier EditorConfig à un projet
Pour ajouter un fichier EditorConfig à votre projet ou solution, procédez comme suit :
Ouvrez un projet ou une solution dans Visual Studio. Sélectionnez la solution ou le nœud de projet, selon que vos paramètres EditorConfig doivent s’appliquer à tous les projets de la solution ou à un seul. Vous pouvez également sélectionner un dossier dans votre projet ou solution pour ajouter le fichier
.editorconfig
.Dans le menu, choisissez Projet>Ajouter un nouvel élément, ou appuyez sur Ctrl+Maj+A.
La boîte de dialogue Ajouter un nouvel élément s’ouvre.
Dans la zone de recherche, entrez editorconfig.
Deux modèles d’élément editorconfig file sont affichés dans les résultats de recherche.
Sélectionnez le fichier modèle EditorConfig (vide) pour ajouter un fichier EditorConfig prérempli avec les options EditorConfig par défaut pour les espaces blancs, le style de code et les conventions de nommage. Vous pouvez également sélectionner le modèle fichier editorconfig (.NET) pour ajouter un fichier EditorConfig prérempli avec les espaces blancs .NET, le style de code et les conventions d’affectation de noms .NET par défaut.
Un nouveau fichier
.editorconfig
s’affiche dans l’Explorateur de solutions et s’ouvre dans l’éditeur sous la forme d’un nouvel onglet.Modifiez éventuellement le fichier, puis enregistrez-le.
Autres façons d’ajouter un fichier EditorConfig
Il existe quelques autres façons d’ajouter un fichier EditorConfig à votre projet :
Utilisez IntelliCode pour Visual Studio pour générer un fichier
.editorconfig
dans votre solution. Cliquez avec le bouton droit dans l’Explorateur de solutions et choisissez Ajouter>Nouveau EditorConfig (IntelliCode) dans le menu contextuel. IntelliCode pour Visual Studio déduit vos styles de code à partir du code existant, puis crée un fichier EditorConfig avec vos préférences de style de code prédéfinies.générer automatiquement un fichier EditorConfig en fonction de vos paramètres de style code.
Hiérarchie et précédence des fichiers
Lorsque vous ajoutez un fichier .editorconfig
à un dossier de votre hiérarchie de fichiers, ses paramètres s’appliquent à tous les fichiers applicables à ce niveau et à un niveau inférieur. Vous pouvez également remplacer les paramètres EditorConfig d’un projet, d’une base de code ou d’une partie d’une base de code, de sorte qu’il utilise des conventions différentes des autres parties du codebase. Cela peut être utile lorsque vous incorporez du code à partir d’un autre endroit et que vous ne souhaitez pas modifier ses conventions.
Suivez ces instructions :
Pour remplacer certains ou tous les paramètres EditorConfig, ajoutez un fichier
.editorconfig
au niveau de la hiérarchie de fichiers que vous souhaitez que ces paramètres substitués s’appliquent. Les nouveaux paramètres de fichier EditorConfig s’appliquent aux fichiers au même niveau et aux fichiers des sous-répertoires.Si vous souhaitez remplacer certains paramètres, mais pas tous les paramètres, spécifiez uniquement ces paramètres dans le fichier
.editorconfig
. Seules les propriétés que vous répertoriez explicitement dans le fichier.editorconfig
de niveau inférieur sont remplacées. D’autres paramètres de tous les fichiers.editorconfig
de niveau supérieur continuent à s’appliquer.Si vous souhaitez vous assurer qu’aucun paramètre des fichiers
.editorconfig
de niveau supérieur n’est appliqué à cette partie du codebase, ajoutez la propriétéroot=true
au fichier.editorconfig
de niveau inférieur.# top-most EditorConfig file for this level root = true
Les fichiers EditorConfig sont lus de haut en bas. S’il existe plusieurs propriétés portant le même nom, la propriété la plus récemment trouvée portant le même nom est prioritaire.
Modifier les fichiers EditorConfig
Visual Studio 2022 fournit un éditeur visuel pour les fichiers EditorConfig.
Après avoir modifié votre fichier EditorConfig, vous devez recharger vos fichiers de code pour que les nouveaux paramètres prennent effet.
Visual Studio vous aide à modifier les fichiers EditorConfig en fournissant des listes d'autocomplétion IntelliSense. Par exemple:
Si vous modifiez de nombreux fichiers EditorConfig, vous pouvez trouver l’extension EditorConfig Language Service utile. Certaines des fonctionnalités de cette extension incluent la mise en surbrillance de la syntaxe, l’amélioration d’IntelliSense, la validation et la mise en forme du code.
Exemple
L’exemple suivant montre l’état de retrait d’un extrait de code C# avant et après l’ajout d’un fichier EditorConfig au projet :
Dans la boîte de dialogue Outils>Options, définissez les paramètres Éditeur de texte> C#>Onglets de l’éditeur de texte Visual Studio pour produire quatre espaces lorsque vous appuyez sur la touche Tab.
Comme prévu, lorsque vous appuyez sur la touche Tab sur la ligne suivante, elle met en retrait la ligne en ajoutant quatre caractères d’espace blanc.
Utilisez EditorConfig pour changer le paramètre onglets pour utiliser des onglets.
Sélectionnez Utiliser des onglets dans le fichier EditorConfig.
Ajoutez un nouveau fichier nommé
.editorconfig
au projet, avec le contenu suivant. L’indicateur[*.cs]
signifie que cette modification s’applique uniquement aux fichiers de code C# du projet.# Top-most EditorConfig file root = true # Tab indentation [*.cs] indent_style = tab
Lorsque vous appuyez sur la touche Tab, les caractères de tabulation apparaissent maintenant au lieu d’espaces.
Résoudre les problèmes liés aux paramètres d’EditorConfig
Si un fichier EditorConfig existe n’importe où dans la structure de répertoires à l’emplacement de votre projet, Visual Studio applique les paramètres de l’éditeur dans ce fichier à votre éditeur. Dans ce cas, vous pouvez voir le message suivant dans la barre d’état :
User preferences for this file type are overridden by this project's coding conventions.
Cela signifie que si des paramètres d’éditeur dans Tools>Options>Éditeur de texte (telles que la taille et le style de retrait, la taille de tabulation ou les conventions de codage) sont spécifiés dans un fichier EditorConfig au niveau ou au-dessus du projet dans la structure de répertoires, les conventions du fichier EditorConfig remplacent les paramètres dans Éditeur de texte.
Pour résoudre les problèmes EditorConfig, procédez comme suit :
Pour désactiver la prise en charge de EditorConfig pour Visual Studio, désactivez l’option Suivre les conventions de codage de projet dans Outils>Options>Éditeur de texte.
Pour rechercher des fichiers EditorConfig dans les répertoires parents de votre projet, ouvrez une invite de commandes et exécutez la commande suivante à partir de la racine du disque qui contient votre projet.
dir .editorconfig /s
Pour contrôler l’étendue de vos conventions EditorConfig, définissez la propriété
root=true
dans le fichier.editorconfig
à la racine de votre dépôt ou dans le répertoire où réside votre projet.Visual Studio recherche un fichier nommé
.editorconfig
dans le répertoire du fichier ouvert et dans chaque répertoire parent. La recherche se termine lorsqu’elle atteint le chemin de fichier racine, ou si un fichier.editorconfig
avecroot=true
est trouvé.