Share via


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. U kunt meer dan één .editorconfig bestand gebruiken en u kunt ze opnemen als onderdeel van een codebasis.

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. Zie EditorConfig-bestanden toevoegen en verwijderen voor meer informatie.

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 de opdrachten Code Opschonen of Document opmaken uitvoert. Zie Codestijlen toepassen voor meer informatie.

Voor .NET toont Visual Studio een opgemaakte versie van het .editorconfig bestand in plaats van het tekstbestand zonder opmaak.

Schermopname van het .editorconfig-bestand.

Voorkeuren voor EditorConfig en codestijl

In Visual Studio hebben editorConfig-bestandsinstellingen voorrang op de verschillende algemene instellingen voor teksteditor die beschikbaar zijn onder Extra>Opties>Teksteditor>[C# | C/C++ | Visual Basic]>Codestijl. U kunt een EditorConfig-bestand gebruiken om elke codebasis aan te passen om teksteditorinstellingen te gebruiken die specifiek zijn voor dat project.

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.

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. Zie Ondersteunde instellingen voor meer informatie over ondersteunde conventies.

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 de voorkeur aan dat een 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.

Ondersteunde instellingen

EditorConfig ondersteunt alle talen die door Visual Studio worden ondersteund, behalve XML.

Voor elke taal ondersteunt de editor in Visual Studio de kernset EditorConfig-eigenschappen:

  • indent_style
  • inspringgrootte
  • tabbladbreedte
  • end_of_line
  • tekenset
  • trim_trailing_whitespace
  • insert_final_newline
  • wortel

Voor C# en Visual Basic ondersteunt EditorConfig ook codestijlregels , waaronder taal, opmaak en naamgeving. U kunt bijvoorbeeld een C#-taalregel opgeven met betrekking tot het gebruik van var bij het definiëren van variabelen. U kunt ook een naamgevingsregel opgeven waarmee asynchrone methodenamen een Async-achtervoegsel moeten bevatten.

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 uit uw project of codebasis verwijdert, moet u alle geopende codebestanden sluiten en opnieuw openen zodat de algemene editor-instellingen van invloed zijn op nieuwe regels in de code.

Visual Studio maakt automatisch gebruik van EditorConfig-bestanden die aanwezig zijn in een codebasis, op basis van de hiërarchie van mappen.

Als er geen EditorConfig-bestand is, kunt u er een toevoegen aan het project met behulp van een van de volgende methoden:

Een EditorConfig genereren op basis van instellingen in codestijl

U kunt het EditorConfig-bestand handmatig vullen of u kunt het bestand automatisch genereren op basis van de instellingen voor de codestijl die u hebt gekozen in het dialoogvenster Opties voor Visual Studio Opties. Deze pagina met opties is beschikbaar inExtra>Opties>Teksteditor> [C# | C/C++ | Visual Basic] >Codestijl>Algemeen. Klik op .editorconfig-bestand genereren op basis van instellingen om automatisch een coderingsstijl te genereren .editorconfig bestand op basis van de instellingen op deze pagina Opties.

schermopname van het bestand Editorconfig genereren op basis van instellingen.

Een EditorConfig-bestand toevoegen aan een project

Voer de volgende stappen uit om een EditorConfig-bestand toe te voegen aan uw project of oplossing:

  1. 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.

  2. Kies in het menu Project>Add New Itemof druk op Ctrl+Shift+A.

    Het dialoogvenster Nieuw item toevoegen wordt geopend.

  3. Voer in het zoekvak editorconfigin.

    In de zoekresultaten worden twee editorconfig file itemsjablonen weergegeven.

    Schermopname met editorConfig-bestandsitemsjablonen in Visual Studio.

    Als u de itemsjabloon niet ziet, moet u het bestand handmatig toevoegen. U kunt ook de Intellicode-versie van .editorconfig toevoegen en deze vervolgens aanpassen aan uw taal.

  4. 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.

    Voor .NET biedt Visual Studio als volgt een opgemaakte versie van het bestand.

    Schermopname van het .editorconfig-bestand in Solution Explorer en editor.

  5. Bewerk het bestand desgewenst en sla het vervolgens op.

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.

    schermopname van de EditorConfig-hiërarchie.

  • 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 eigenschap root=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.

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:

  1. 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.

    Schermopname met de tabinstelling Teksteditor.

  2. Zoals verwacht, als u op de Tab-toets drukt op de volgende regel, wordt de regel ingesprongen met vier spatietekens.

    Schermopname met de Tab-toets waarin spaties in code worden toegevoegd.

  3. Gebruik EditorConfig om de instelling aan te passen naar tabs.

    Selecteer Tabbladen gebruiken in het EditorConfig-bestand.

    Schermopname van het configureren van het gebruik van tabbladen voor tabtoets.

  4. Wanneer u op de toets Tab drukt, worden tabtekens nu weergegeven in plaats van spaties.

    Schermopname met de Tab-toets waarmee tabtekens in code worden toegevoegd.

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:

  1. Als u EditorConfig-ondersteuning voor Visual Studio wilt uitschakelen, schakelt u de optie Projectcoderingsregels volgen uit in Extra>Opties>Teksteditor.

    Schermopname die de instelling toont om projectcoderingsconventies te volgen.

  2. 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
    
  3. 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 met root=true wordt gevonden.