Définissez des styles de codage cohérents avec EditorConfig
Pour imposer des styles de codage cohérents à toutes les personnes travaillant dans une base de code, vous pouvez ajouter un fichier .editorConfig
à votre solution ou à votre projet. Les paramètres des fichiers EditorConfig sont conformes à une spécification de format de fichier maintenue par EditorConfig.org. De nombreux éditeurs de code et applications prennent en charge les fichiers EditorConfig, y compris Visual Studio. Comme 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 ont la priorité sur les divers 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 adapter chaque base de code 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 nouveau fichier .editorconfig
en fonction de vos paramètres Visual Studio actuels, dans le menu principal de Visual Studio, choisissez Outils>Options>Éditeur de texte>C/C++>Général. Choisissez ensuite Générer un fichier .editorconfig à partir des paramètres. Choisissez le dossier dans lequel se trouve votre projet, puis sélectionnez Sélectionner un dossier pour enregistrer le fichier .editorconfig
.
Lorsque vous utilisez un fichier EditorConfig, vous pouvez continuer à définir vos préférences d'éditeur personnelles dans l'éditeur de texte de Visual Studio. Ces paramètres de l’é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. Un exemple d’une telle préférence est de savoir si utiliser des tabulations 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 formatées en fonction des paramètres de l’EditorConfig. La mise en forme du code existant ne change pas, à moins que vous exécutiez 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’espacement, tels que le style d’indentation, et aux paramètres de style de code sélectionnés, tels que les préférences de parenthèses.
Mettre le document en forme.
Sélectionnez Modifier>Avancé>Mettre le document en forme, ou appuyez sur Ctrl+K, Ctrl+D dans le profil par défaut. Cette commande s’applique uniquement aux paramètres d’espacement, tels que le style d’indentation.
Cohérence du code
Les paramètres du fichier EditorConfig vous permettent de maintenir des styles de codage et des conventions 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 d’indentation, la largeur de tabulation, les caractères de fin de ligne et l’encodage. Par exemple, si votre base de code C# a pour convention que les indentations utilisent cinq caractères d’espace, que les documents utilisent l’encodage UTF-8 et que 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 préférez qu’une indentation ajoute un caractère de tabulation dans votre code. Cependant, votre équipe peut préférer qu’une indentation ajoute plutôt quatre espaces. Les fichiers EditorConfig apportent une réponse à ce problème en offrant la possibilité de disposer d’une configuration pour chaque scénario.
Étant donné qu'un fichier .editorconfig
de la base de code contient les paramètres EditorConfig, ces derniers voyagent avec la base de code. Tant que vous ouvrez le fichier de code dans un éditeur compatible avec 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 imposées dans un pipeline CI/CD en tant qu’erreurs ou avertissements de génération. Les écarts de style apparaissent seulement dans l’éditeur Visual Studio et dans la Liste d’erreurs.
Paramètres pris en charge
L’éditeur de Visual Studio prend en charge l’ensemble principal des propriétés d’EditorConfig :
- indent_style
- indent_size
- tab_width
- end_of_line
- charset
- trim_trailing_whitespace
- insert_final_newline
- root
EditorConfig prend en charge tous les langages pris en charge par Visual Studio, sauf le support XML des paramètres de l’éditeur EditorConfig.
EditorConfig prend en charge les conventions de style de code, comme les conventions de langage, de formatage et de nomenclature pour C# et Visual Basic.
Ajout et suppression de fichiers EditorConfig
Lorsque vous ajoutez un fichier EditorConfig à votre projet ou base de code, Visual Studio formate toute nouvelle ligne de code que vous écrivez en fonction des paramètres du fichier EditorConfig. Cependant, Visual Studio ne convertit pas automatiquement les styles existants en nouveaux styles tant que vous ne formatez pas le document ou ne lancez pas le Nettoyage du code. Par exemple, si les indentations de votre fichier sont formatées avec des tabulations et que vous ajoutez un fichier EditorConfig qui formate les indentations avec des espaces, les caractères d’indentation ne sont pas automatiquement convertis en espaces. Lorsque vous formatez le document (sélectionnez Modifier>Avancé>Format du document ou appuyez sur Ctrl+K, Ctrl+D), les paramètres d’espacement du fichier EditorConfig sont appliqués aux lignes de code existantes.
Si vous supprimez un fichier EditorConfig de votre projet ou base de code, vous devez fermer et rouvrir tous les fichiers de code ouverts pour que les nouveaux paramètres globaux de l’éditeur prennent effet.
Ajouter un fichier EditorConfig à un projet
Pour ajouter un fichier EditorConfig à votre projet ou solution, suivez ces étapes :
Ouvrez un projet ou une solution dans Visual Studio. Sélectionnez le nœud de solution ou 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 votre solution pour y 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, saisissez editorconfig.
Deux modèles d'élément de Fichier editorconfig s’affichent dans les résultats de recherche.
Sélectionnez le modèle Fichier editorconfig (vide) pour ajouter un fichier EditorConfig prérempli avec des options EditorConfig par défaut pour l’espacement, le style de code et les conventions de nommage. Ou, sélectionnez le modèle Fichier editorconfig (.NET) pour ajouter un fichier EditorConfig prérempli avec les conventions .NET d’espacement, de style de code et de nommage par défaut.
Un nouveau fichier
.editorconfig
apparaît dans l'Explorateur de solutions et s'ouvre dans l'éditeur sous la forme d'un nouvel onglet.Éditez éventuellement le fichier, puis enregistrez-le.
Autres façons d’ajouter un fichier EditorConfig
Il existe d’autres façons d’ajouter un fichier EditorConfig au 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 fichier 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 basé sur vos paramètres de style de code.
Priorité et hiérarchie des fichiers
Lorsque vous ajoutez un fichier .editorconfig
à un dossier dans votre hiérarchie de fichiers, ses paramètres s'appliquent à tous les fichiers applicables à ce niveau et aux niveaux inférieurs. Vous pouvez également remplacer les paramètres EditorConfig d’un projet particulier, d’un code base ou d’une partie de code base qui utilise des conventions différentes de celles des autres parties du code base. Cela peut être utile lorsque vous incorporez du code en provenance d’ailleurs et que vous ne souhaitez pas changer ses conventions.
Procédez comme suit :
Pour remplacer tout ou partie des paramètres de EditorConfig, ajoutez un fichier
.editorconfig
au niveau de la hiérarchie des fichiers auquel vous souhaitez que ces paramètres remplacés s'appliquent. Les nouveaux paramètres du fichier EditorConfig s’appliquent aux fichiers du même niveau et aux fichiers dans les sous-répertoires.Si vous souhaitez remplacer certains paramètres, mais pas tous, spécifiez uniquement ces paramètres dans le fichier
.editorconfig
. Seules les propriétés que vous avez explicitement énumérées dans le fichier.editorconfig
de niveau inférieur sont remplacées. Les autres paramètres des fichiers de niveau supérieur.editorconfig
continuent de s'appliquer.Si vous voulez vous assurer qu'aucun paramètre des fichiers
.editorconfig
de niveau supérieur n'est appliqué à cette partie de la base de code, 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é trouvée le plus récemment avec le même nom prend le pas.
Modifier des fichiers EditorConfig
Visual Studio 2022 fournit un éditeur visuel pour les fichiers EditorConfig.
Après avoir édité votre fichier EditorConfig, vous devez recharger vos fichiers de code pour que les nouveaux paramètres prennent effet.
Visual Studio vous aide à éditer les fichiers EditorConfig en fournissant des listes de complétion IntelliSense. Par exemple :
Si vous éditez de nombreux fichiers EditorConfig, vous pourriez trouver l’extension Service de langage EditorConfig utile. Les fonctionnalités de cette extension incluent notamment une mise en surbrillance de la syntaxe, ainsi que des fonctionnalités IntelliSense, de validation et de mise en forme de code améliorées.
Exemple
L’exemple suivant montre l’état d’indentation 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 de Éditeur de texte>C#>Tabulations pour l’éditeur de texte Visual Studio afin de produire quatre caractères d’espace lors de l’appui sur la touche Tab.
Comme prévu, lorsque vous appuyez sur la touche Tab sur la ligne suivante, elle indente la ligne en ajoutant quatre caractères d’espace blanc.
Utilisez EditorConfig pour changer le paramètre des tabulations pour utiliser des tabulations.
Sélectionnez Utiliser des tabulations dans le fichier EditorConfig.
Ajoutez un nouveau fichier nommé
.editorconfig
au projet, avec le contenu suivant. L’indicateur[*.cs]
signifie que ce changement s’applique uniquement aux fichiers de code C# dans le projet.# Top-most EditorConfig file root = true # Tab indentation [*.cs] indent_style = tab
Lorsque vous appuyez sur la touche Tab, des caractères de tabulation apparaissent désormais à la place des espaces.
Résoudre les problèmes liés aux paramètres d’EditorConfig
Si un fichier EditorConfig existe quelque part dans la structure de répertoires au-dessus de l’emplacement de votre projet, Visual Studio applique les paramètres de l’éditeur de ce fichier à votre éditeur. Dans ce cas, le message suivant peut s’afficher 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 de l’éditeur dans Outils>Options>Éditeur de texte (comme la taille et le style d’indentation, la taille des onglets ou les conventions de codage) sont spécifiés dans un fichier EditorConfig au niveau du projet ou au-dessus dans la structure de répertoires, les conventions du fichier EditorConfig remplacent les paramètres de Éditeur de texte.
Pour résoudre les problèmes d’EditorConfig, suivez ces étapes :
Pour désactiver la prise en charge de l’EditorConfig pour Visual Studio, désactivez l’option Suivre les conventions de codage du projet dans Outils>Options>Éditeur de texte.
Pour trouver des fichiers EditorConfig dans les répertoires parent de votre projet, ouvrez une invite de commandes et exécutez la commande suivante à partir de la racine du disque contenant votre projet.
dir .editorconfig /s
Pour contrôler la portée de vos conventions EditorConfig, définissez la propriété
root=true
dans le fichier.editorconfig
à la racine de votre référentiel 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 d'accès au fichier racine, ou si un fichier.editorconfig
avecroot=true
est trouvé.