À quoi ressemble un fichier EditorConfig ?
Quelques projets utilisent EditorConfig, parmi lesquels
- Projet A11Y: un projet mené par la communauté pour faciliter l'accessibilité du Web.
- Amaze UI: un framework front-end originaire de Chine.
- AngularJS: HTML amélioré pour les applications Web
- Angular Strap : directives Bootstrap pour Angular
- Angular Leaflet Directive: directives Angular pour la bibliothèque Leaflet
- animate.css: bibliothèque d'animation CSS
- async: utilitaires asynchrones pour le noeud et le navigateur
- Autofac: Un conteneur addictif .NET IoC.
- Autogen: générateur d'en-tête copyright + license pour plusieurs langues
- Babel: compilateur pour l'écriture de JavaScript de nouvelle génération
- basket.js: un chargeur de scripts de validation de concept pour la mise en cache / chargement de scripts avec localStorage
- Bootstrap: infrastructure de développement Web front-end
Vous trouverez ci-dessous un exemple de styles de fin de ligne et d'indentation des fichiers .editorconfig pour les fichiers Python et JavaScript.
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # EditorConfig is awesome: https://EditorConfig.org # top-most EditorConfig file root = true # Unix-style newlines with a newline ending every file [*] end_of_line = lf insert_final_newline = true # Matches multiple files with brace expansion notation # Set default charset [*.{js,py}] charset = utf-8 # 4 space indentation [*.py] indent_style = space indent_size = 4 # Tab indentation (no size specified) [Makefile] indent_style = tab # Indentation override for all JS under lib directory [lib/**.js] indent_style = space indent_size = 2 # Matches the exact files either package.json or .travis.yml [{package.json,.travis.yml}] indent_style = space indent_size = 2 |
Lors de l'ouverture d'un fichier, les plugins EditorConfig recherchent un fichier nommé .editorconfig dans le répertoire du fichier ouvert et dans chaque répertoire parent. Une recherche de fichiers .editorconfig s'arrête si le chemin d'accès au fichier racine est atteint ou si un fichier EditorConfig avec root = true est trouvé.
Les fichiers EditorConfig sont lus de haut en bas et les règles les plus récentes trouvées ont priorité. Les propriétés des sections EditorConfig correspondantes sont appliquées dans l'ordre dans lequel elles ont été lues. Par conséquent, les propriétés des fichiers plus proches sont prioritaires.
Pour les utilisateurs Windows: Pour créer un fichier .editorconfig dans l'explorateur Windows, vous devez créer un fichier nommé .editorconfig., Que l'explorateur Windows renommera automatiquement en .editorconfig.
Propriétés prises en charge
Notez que toutes les propriétés ne sont pas supportées par tous les plugins. Voici une liste de quelques propriétés qui sont supportées
- indent_style: définissez “tab” ou “space” pour utiliser respectivement la tabulation ou un espace.
- indent_size: nombre entier définissant le nombre de colonnes utilisées pour chaque niveau d'indentation et la largeur des espaces (si pris en charge). Lorsqu'il est défini sur “tab”, la valeur de tab_width (si spécifiée) sera utilisée.
- tab_width: nombre entier définissant le nombre de colonnes utilisées pour représenter un caractère de tabulation. La valeur par défaut est indent_size et n'a généralement pas besoin d'être spécifiée.
- end_of_line: définissez sur lf, cr ou crlf pour contrôler la manière dont les sauts de ligne sont représentés.
- charset: mis à latin1, utf-8, utf-8-bom, utf-16be ou utf-16le pour contrôler le jeu de caractères.
- trim_trailing_whitespace: défini sur true pour supprimer tous les caractères d'espacement précédant les caractères de nouvelle ligne et sur false pour s'assurer que ce n'est pas le cas.
- insert_final_newline: défini sur true pour garantir que le fichier se termine par une nouvelle ligne lors de la sauvegarde et sur false pour le garantir.
- root: propriété spéciale devant être spécifiée en haut du fichier en dehors de toute section. Définissez sur “true” pour arrêter la recherche de fichiers .editorconfig sur le fichier actuel.
Pour toutes les propriétés, la valeur de “unset” est de supprimer l’effet de cette propriété, même si elle a été définie auparavant. Par exemple, ajoutez indent_size = unset pour supprimer la propriété indent_size (et utilisez l'éditeur par défaut).
Actuellement, toutes les propriétés et valeurs ne respectent pas la casse. Ils sont minuscules lorsqu'ils sont analysés. En règle générale, si une propriété n'est pas spécifiée, les paramètres de l'éditeur seront utilisés, c'est-à-dire que EditorConfig n'aura aucun effet sur cette partie.
Il est acceptable et souvent préférable de laisser certaines propriétés EditorConfig non spécifiées. Par exemple, tab_width n'a pas besoin d'être spécifié, sauf s'il diffère de la valeur de indent_size. De plus, lorsque indent_style est défini sur tab, il peut être souhaitable de laisser indent_size non spécifié afin que les lecteurs puissent visualiser le fichier en utilisant leur largeur d'indentation préférée. De plus, si une propriété n'est pas normalisée dans votre projet (end_of_line par exemple), il peut être préférable de la laisser vide.
Un plugin n’est pas toujours nécessaire
Certains éditeurs sont fournis avec le support natif de EditorConfig. C’est le cas par exemple de CodeLight, Intellij IDEA, KTextEditor, Visual Studio ou PyCharm
Éditeurs avec un support natif
Microsoft explique par exemple que
Envoyé par Microsoft
Pour les éditeurs comme Atom, NetBeans PHPStorm ou en encore EMacs, l’utilisateur va devoir télécharger un plugin.
Éditeurs qui nécessitent un plugin
D’ailleurs, à ce propos, l’équipe derrière EditConfig a publié la version 0.4.0 du plug-in Notepad ++.
Dans le changelog du plug-in sur GitHub nous pouvons lire u’il :
- Offre de construction x64 du plugin.
- Permet de convertir end_of_line avant de sauvegarder.
- Ajoute une commande pour afficher les paramètres de configuration actuels.
- Corrige la logique de combinaison de propriétés.
- Permet de définir la coloration syntaxique du fichier .editorconfig sur ini.
Liste complète des propriétés supportées
Sources : EditorConfig , Microsoft
Et vous ?
Vous êtes-vous déjà servi d'EditorConfig ? Sur quel EDI / éditeur ?
Qu'en avez-vous pensé ?
Voir aussi :
IntelliJ IDEA 2019.1 EAP5 permet de visualiser les emplacement récents de code, et prend en charge les modifications apportées par Android Studio 3.3
Sortie d'Oxygen XML Editor 21 : tour d'horizon des nouveautés de la dernière version annuelle de l'éditeur XML
La Release Candidate (RC) de Visual Studio 2019 est disponible au téléchargement, un mois avant la sortie de la version stable de l'EDI de Microsoft
C'est un téléphone annoncé comme open source et personnalisable via l'EDI pour Arduino : le WiPhone est estimé à moins de 100 $
Lazarus 2.0.0 disponible au téléchargement, la nouvelle version majeure de l'EDI open source bâti autour de Free Pascal est stable