Delen 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. 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 -bestand wilt maken op basis van uw huidige Visual Studio-instellingen, kiest u in het hoofdmenu van Visual Studio ExtraOptiesTeksteditorC/C++Codestijl. Kies vervolgens .editorconfig-bestand genereren op basis van instellingen. Kies de map waarin jouw project zich bevindt en kies vervolgens Selecteer map om het .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:

  • code opschonen.

    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:

  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.

  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.

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

  5. 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:

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.

Visual Studio helpt u bij het bewerken van EditorConfig-bestanden door intelliSense-voltooiingslijsten op te geven. Bijvoorbeeld:

Schermopname van IntelliSense in een EditorConfig-bestand.

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.

schermopname van de IntelliSense met de extensie EditorConfig Language Service.

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.

    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.

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

    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.