Consistente coderingsstijlen definiëren met EditorConfig
Als u consistente coderingsstijlen wilt afdwingen voor iedereen die in een codebasis werkt, kunt u een .editorConfig
-bestand toevoegen aan uw oplossing of project. EditorConfig-bestandsinstellingen voldoen aan een bestandsindelingsspecificatie die wordt onderhouden door EditorConfig.org. Veel code-editors en -toepassingen ondersteunen EditorConfig-bestanden, waaronder Visual Studio. Omdat de instellingen zich in een bestand bevinden, worden deze gekoppeld aan uw code en kunnen ze zelfs buiten Visual Studio worden gebruikt.
In Visual Studio hebben EditorConfig-bestandsinstellingen voorrang op de verschillende globale teksteditorinstellingen die beschikbaar zijn onder Extra>Opties>Teksteditor>C/C++>Codestijl. U kunt een EditorConfig-bestand gebruiken om elke codebasis aan te passen om teksteditorinstellingen te gebruiken die specifiek zijn voor dat project.
U kunt een EditorConfig-bestand handmatig vullen of automatisch genereren op basis van de instellingen voor de codestijl die u hebt gekozen in Visual Studio. Als u een nieuw .editorconfig
bestand op te slaan.
Wanneer u een EditorConfig-bestand gebruikt, kunt u nog steeds uw eigen persoonlijke editorvoorkeuren instellen in de Teksteditor van Visual Studio. Deze instellingen voor teksteditor zijn van toepassing wanneer u in een codebasis werkt zonder een EditorConfig-bestand of wanneer het EditorConfig-bestand een bepaalde instelling niet overschrijft. Een voorbeeld van een dergelijke voorkeur is of u tabs of spaties wilt gebruiken voor de code-inspringingsstijl.
Wanneer u een EditorConfig-bestand toevoegt aan uw project in Visual Studio, worden alleen nieuwe coderegels opgemaakt op basis van de EditorConfig-instellingen. De opmaak van bestaande code wordt niet gewijzigd, tenzij u een van de volgende opdrachten uitvoert:
-
Selecteer Code cleanup in de Visual Studio-editor of druk op Ctrl+K, Ctrl+E. Deze opdracht is van toepassing op witruimte-instellingen, zoals inspringingsstijl en geselecteerde instellingen voor codestijlen, zoals haakjesvoorkeuren.
Document opmaken.
Selecteer Bewerken>Advanced>Document opmakenof druk op Ctrl+K, Ctrl+D- in het standaardprofiel. Deze opdracht is alleen van toepassing op witruimte-instellingen, zoals inspringstijl.
Codeconsistentie
Met editorConfig-bestandsinstellingen kunt u consistente coderingsstijlen en conventies in een codebasis onderhouden, ongeacht de editor of IDE die u gebruikt. Sommige coderingsstijlen die u kunt beheren, zijn inspringingsstijl, tabbreedte, einde van regeltekens en codering. Als uw C#-codebasis bijvoorbeeld een conventie heeft waarmee inspringingen vijf spatietekens gebruiken, gebruiken documenten UTF-8-codering en regels eindigen met CR/LF, kunt u een EditorConfig-bestand configureren om deze conventie te gebruiken.
EditorConfig-bestanden zijn handig bij het coderen van conventies die u gebruikt voor uw persoonlijke projecten, verschillen van die conventies die worden gebruikt in de projecten van uw team. U kunt er bijvoorbeeld de voorkeur aan geven dat een inspringing een tabteken toevoegt in uw code. Uw team geeft er echter misschien de voorkeur aan dat inspringing vier spaties toevoegt. EditorConfig-bestanden lossen dit probleem op door u een configuratie voor elk scenario te bieden.
Omdat een .editorconfig
-bestand in de codebase de EditorConfig-instellingen bevat, worden ze samen met die codebase meegenomen. Zolang u het codebestand opent in een editor die compatibel is met EditorConfig, worden de instellingen van de teksteditor geactiveerd.
Notitie
Conventies die u in een EditorConfig-bestand instelt, kunnen niet worden afgedwongen in een CI/CD-pijplijn als buildfouten of -waarschuwingen. Eventuele stijldeviaties worden alleen weergegeven in de Visual Studio-editor en foutenlijst.
Ondersteunde instellingen
De editor in Visual Studio ondersteunt de kernset van EditorConfig-eigenschappen:
- indent_style
- indent_size
- tab_width
- end_of_line
- charset
- trim_trailing_whitespace
- insert_final_newline
- wortel
EditorConfig ondersteunt alle talen die door Visual Studio worden ondersteund, met uitzondering van de editorinstellingen van de EditorConfig-editor voor XML-ondersteuning.
EditorConfig ondersteunt codestijl conventies, waaronder taal, opmaaken naamgeving conventies voor C# en Visual Basic.
EditorConfig-bestanden toevoegen en verwijderen
Wanneer u een EditorConfig-bestand aan uw project of codebasis toevoegt, worden in Visual Studio alle nieuwe regels code opgemaakt die u schrijft volgens de instellingen van het EditorConfig-bestand. In Visual Studio worden bestaande stijlen echter pas geconverteerd naar de nieuwe stijlen nadat u het document hebt opgemaakt of Code Cleanup-uitvoert. Als de inspringingen in uw bestand bijvoorbeeld zijn opgemaakt met tabbladen en u een EditorConfig-bestand toevoegt waarmee inspringingen met spaties worden opgemaakt, worden de inspringingstekens niet automatisch geconverteerd naar spaties. Wanneer u het document opmaken (selecteer Bewerken>Geavanceerd>Document opmaken of druk op Ctrl+K, Ctrl+D), worden de witruimte-instellingen in het EditorConfig-bestand toegepast op bestaande regels code.
Als u een EditorConfig-bestand verwijdert uit uw project of codebasis, moet u alle geopende codebestanden sluiten en opnieuw openen voor de instellingen van de globale editor om nieuwe regels code te kunnen toepassen.
Een EditorConfig-bestand toevoegen aan een project
Voer de volgende stappen uit om een EditorConfig-bestand toe te voegen aan uw project of oplossing:
Open een project of oplossing in Visual Studio. Selecteer de oplossing of het projectknooppunt, afhankelijk van of uw EditorConfig-instellingen van toepassing moeten zijn op alle projecten in de oplossing of slechts één. U kunt ook een map in uw project of oplossing selecteren om het
.editorconfig
-bestand toe te voegen.Kies in het menu Project>Add New Itemof druk op Ctrl+Shift+A.
Het dialoogvenster Nieuw item toevoegen wordt geopend.
Voer in het zoekvak editorconfigin.
In de zoekresultaten worden twee editorconfig file itemsjablonen weergegeven.
Selecteer het editorconfig-bestand (leeg) sjabloon om een EditorConfig-bestand toe te voegen dat vooraf is gevuld met standaard EditorConfig-opties voor witruimte, codestijl en naamconventies. Of selecteer de editorconfig File (.NET) sjabloon om een EditorConfig-bestand toe te voegen dat vooraf is gevuld met standaardinstellingen .NET-witruimte, codestijl en naamconventies.
Er wordt een nieuw
.editorconfig
-bestand weergegeven in Solution Explorer en wordt geopend in de editor als een nieuw tabblad.Bewerk het bestand desgewenst en sla het vervolgens op.
Andere manieren om een EditorConfig-bestand toe te voegen
Er zijn een aantal andere manieren waarop u een EditorConfig-bestand aan uw project kunt toevoegen:
Gebruik IntelliCode voor Visual Studio om een
.editorconfig
-bestand in uw oplossing te genereren. Klik met de rechtermuisknop in Solution Explorer en kies Add>New EditorConfig (IntelliCode) in het contextmenu. IntelliCode voor Visual Studio leidt uw codestijlen af van bestaande code en maakt vervolgens een EditorConfig-bestand met vooraf gedefinieerde voorkeuren in codestijl.Automatisch een EditorConfig-bestand genereren op basis van de instellingen in de codestijl.
Bestandshiërarchie en prioriteit
Wanneer u een .editorconfig
bestand toevoegt aan een map in uw bestandshiërarchie, zijn de instellingen van toepassing op alle toepasselijke bestanden op dat niveau en lager. U kunt ook EditorConfig-instellingen voor een bepaald project, codebasis of een deel van een codebasis overschrijven, zodat er andere conventies worden gebruikt dan andere onderdelen van de codebase. Dit kan handig zijn wanneer u code van ergens anders opneemt en de conventies ervan niet wilt wijzigen.
Volg deze richtlijnen:
Als u bepaalde of alle EditorConfig-instellingen wilt overschrijven, voegt u een
.editorconfig
bestand toe op het niveau van de bestandshiërarchie waarop u deze overschreven instellingen wilt toepassen. De nieuwe EditorConfig-bestandsinstellingen zijn van toepassing op bestanden op hetzelfde niveau en bestanden in submappen.Als u sommige, maar niet alle instellingen wilt overschrijven, geeft u alleen die instellingen op in het
.editorconfig
-bestand. Alleen de eigenschappen die u expliciet vermeldt in het.editorconfig
-bestand op lager niveau, worden overschreven. Andere instellingen van alle.editorconfig
bestanden op een hoger niveau blijven van toepassing.Als u ervoor wilt zorgen dat er geen instellingen van
.editorconfig
bestanden op een hoger niveau worden toegepast op dit deel van de codebasis, voegt u de eigenschaproot=true
toe aan het.editorconfig
-bestand op lager niveau.# top-most EditorConfig file for this level root = true
EditorConfig-bestanden worden van boven naar beneden gelezen. Als er meerdere eigenschappen met dezelfde naam zijn, heeft de laatst gevonden eigenschap met dezelfde naam voorrang.
EditorConfig-bestanden bewerken
Visual Studio 2022 biedt een visuele editor voor EditorConfig-bestanden.
Nadat u het EditorConfig-bestand hebt bewerkt, moet u de codebestanden opnieuw laden om de nieuwe instellingen van kracht te laten worden.
Visual Studio helpt u bij het bewerken van EditorConfig-bestanden door intelliSense-voltooiingslijsten op te geven. Bijvoorbeeld:
Als u veel EditorConfig-bestanden bewerkt, kunt u de EditorConfig Language Service-extensie nuttig vinden. Enkele van de functies van deze extensie zijn onder andere het markeren van syntaxis, verbeterde IntelliSense, validatie en codeopmaak.
Voorbeeld
In het volgende voorbeeld ziet u de inspringstatus van een C#-codefragment voor en na het toevoegen van een EditorConfig-bestand aan het project:
Stel in het dialoogvenster Extra>Opties de instellingen van de Teksteditor>C#>Tabs voor de teksteditor van Visual Studio in om vier spatietekens te produceren wanneer u op de toets Tab drukt.
Zoals verwacht, als u op de Tab-toets drukt op de volgende regel, wordt de regel ingesprongen met vier spatietekens.
Gebruik EditorConfig om de instelling aan te passen naar tabs.
Selecteer Tabbladen gebruiken in het EditorConfig-bestand.
Voeg een nieuw bestand met de naam
.editorconfig
toe aan het project, met de volgende inhoud. De[*.cs]
-indicator betekent dat deze wijziging alleen van toepassing is op C#-codebestanden in het project.# Top-most EditorConfig file root = true # Tab indentation [*.cs] indent_style = tab
Wanneer u op de toets Tab drukt, worden tabtekens nu weergegeven in plaats van spaties.
Problemen met EditorConfig-instellingen oplossen
Als er ergens in de mapstructuur op of boven de locatie van uw project een EditorConfig-bestand bestaat, past Visual Studio de editorinstellingen in dat bestand toe op uw editor. In dit geval ziet u mogelijk het volgende bericht op de statusbalk:
User preferences for this file type are overridden by this project's coding conventions.
Dit betekent dat als editor-instellingen in Extra>Opties>Teksteditor (zoals inspringgrootte en stijl, tabgrootte of coderingsconventies) zijn opgegeven in een EditorConfig-bestand op projectniveau of hoger in de mapstructuur, de conventies in het EditorConfig-bestand de instellingen in Teksteditoroverschrijven.
Voer de volgende stappen uit om problemen met EditorConfig op te lossen:
Als u EditorConfig-ondersteuning voor Visual Studio wilt uitschakelen, schakelt u de optie Projectcoderingsregels volgen uit in Extra>Opties>Teksteditor.
Als u editorconfig-bestanden in de bovenliggende mappen van uw project wilt vinden, opent u een opdrachtprompt en voert u de volgende opdracht uit vanuit de hoofdmap van de schijf die uw project bevat.
dir .editorconfig /s
Als u het bereik van uw EditorConfig-conventies wilt beheren, stelt u de eigenschap
root=true
in het.editorconfig
bestand in de hoofdmap van uw opslagplaats of in de map waarin uw project zich bevindt.Visual Studio zoekt naar een bestand met de naam
.editorconfig
in de map van het geopende bestand en in elke bovenliggende map. De zoekopdracht eindigt wanneer het hoofdbestandspad wordt bereikt of als er een.editorconfig
-bestand metroot=true
wordt gevonden.