Dela via


Inställningar för kodformat och kodrensning

Med inställningar för kodformat kan du styra aspekter av kod, till exempel indragsformat, flikbredd, radslutstecken, kodning och många andra formateringsalternativ. Du kan definiera inställningar för kodformat på två sätt:

Du kan också konfigurera Visual Studio för att tillämpa kodformatinställningar med hjälp av kommandona Rensa kod och Formatera dokument .

Du kan definiera inställningar för kodformat per projekt med hjälp av en EditorConfig-fil eller för all kod som du redigerar i Visual Studio på textredigerarens .NET-alternativsida eller sidan C/C++-alternativ. För C#-kod kan du också konfigurera Visual Studio för att tillämpa dessa inställningar för kodformat med hjälp av kommandona Code Cleanup (Visual Studio 2019) och Format Document (Visual Studio 2017).

Kodformat i EditorConfig-filer

Inställningar för kodformat kan anges genom att lägga till en EditorConfig-fil i projektet. EditorConfig-filer är associerade med en kodbas i stället för ett Visual Studio-anpassningskonto. Inställningar i en EditorConfig-fil har företräde framför kodformat som anges i dialogrutan Alternativ. Använd en EditorConfig-fil när du vill framtvinga kodningsformat för alla deltagare i din lagringsplats eller ditt projekt. De är särskilt användbara för att säkerställa konsekvens i en teams programmeringsmiljö.

Information om hur du lägger till en EditorConfig-fil finns i Lägga till och ta bort EditorConfig-filer.

Referensinformation om inställningar för .NET-kodformat finns i Inställningar för kodformat.

C/C++-kodformat i dialogrutan Alternativ

Du kan ange många olika alternativ för kodformatering, till exempel indrag och klammerparentespositioner. Om du vill göra det går du till Verktygsalternativ>>Textredigeraren>C/C++>Kodformatering> (eller skriver Ctrl + Q och söker efter "Formatering"). Du kan också ange en av ClangFormat-formatmallarna (eller din egen anpassade ClangFormat-stil).

Skärmbild av fönstret Alternativ med textredigeraren.

Du kan ange många olika alternativ för kodformatering, till exempel indrag och klammerparentespositioner. Det gör du genom att gå till VerktygSalternativ>>Textredigeraren>C/C++>Formatering (eller skriv Ctrl + Q och sök efter "Formatering"). Du kan också ange en av ClangFormat-formatmallarna (eller din egen anpassade ClangFormat-stil).

Mer information om alla formateringsalternativ finns i Alternativ, Textredigeraren, C/C++, Formatering.

.NET-kodformat i dialogrutan Alternativ

Du kan ange inställningar för kodformat för alla C#- och Visual Basic-projekt genom att öppna dialogrutan Alternativ från Tools-menyn. I dialogrutan Alternativ väljer du Textredigeraren> [C# eller Visual Basic] >Kodformat.

  • För formateringsformat väljer du alternativ under Formatering.
  • För inställningar för kodformat som är associerade med snabbåtgärder och IDE-kodformatregler väljer du alternativ under Allmänt eller Namngivning.

Du kan ange inställningar för kodformat för alla C#- och Visual Basic-projekt genom att öppna dialogrutan Alternativ från Tools-menyn. I dialogrutan Alternativ väljer du textredigeraren> [C# eller Basic] >Kodformat>Allmänt.

Varje objekt i listan visar en förhandsgranskning av inställningen när du väljer alternativet:

Skärmbild av alternativ för kodformat.

Skärmbild av alternativ för kodformat.

Alternativ som anges i det här fönstret gäller för ditt Visual Studio-anpassningskonto och är inte associerade med ett visst projekt eller en viss kodbas. Dessutom tillämpas de inte vid bygget, inklusive i kontinuerlig integration (CI)-byggen. Om du vill associera inställningar för kodformat med projektet och använda formaten under bygget anger du inställningarna i en EditorConfig-fil som är associerad med projektet.

Inställningar och svårighetsgrad

För varje kodformatinställning på sidorna Allmännaalternativ och Namngivningsalternativ kan du ange värdena Inställningar och allvarlighetsgrad med hjälp av listrutorna på varje rad. Allvarlighetsgrad kan anges till Refactoring Only, Suggestion, Warningeller Error.

  • Inställningar för kodformat på sidorna Allmännaalternativ och Namngivningsalternativ avgör snabbåtgärder för ett kodformat. Snabbåtgärder glödlampa , fellampa eller skruvmejsel ikonen visas när en icke-önskad stil används, och du kan välja ett alternativ i listan Snabbåtgärder för att automatiskt skriva om kod till önskad stil.
  • Om du bara vill att överträdelsen ska visas som en snabbåtgärd och även undantas från kodrensningen anger du Allvarlighetsgrad till Endast refaktorisering.
  • Om du vill att överträdelsen ska visas i fönstret Fellista samt Snabbåtgärder och inkluderas i kodrensningen anger du Allvarlighetsgrad till Förslag, Varning eller Fel. Överträdelser visas som ett förslag (meddelande), en varning eller ett fel när du ställer in utdata i fönstret Fellista till Build + IntelliSense. De undantas endast från utdata från Build .

Inställningar i en EditorConfig-fil har företräde framför kodformat som anges på dessa sidor.

Tvinga fram kodstilar vid bygg

Från och med Visual Studio 2019 version 16.8, som innehåller .NET 5.0 RC2 SDK, kan du framtvinga .NET-kodningskonventionerna vid kompilering för alla .NET-projekt. Vid bygget visas överträdelser av kodformatet .NET som varningar eller fel med prefixet "IDE". På så sätt kan du strikt tillämpa konsekventa kodformat i din kodbas.

Använda kodstilar

När du ändrar ett kodformat på sidan Alternativ eller lägger till en EditorConfig-fil i projektet i Visual Studio formateras endast nya kodrader baserat på de nya inställningarna. Formateringen av befintlig kod ändras inte om du inte kör något av följande kommandon:

  • Kodstädning.

    Välj Rensa kod i Visual Studio-redigeraren eller tryck på Ctrl+K, Ctrl+E. Det här kommandot gäller för inställningar för tomt utrymme, till exempel indragsformat och valda inställningar för kodformat, till exempel parentesinställningar.

  • Formatera dokument.

    Välj Redigera>Avancerat>formatera dokumenteller tryck på Ctrl+K, Ctrl+D i standardprofilen. Det här kommandot gäller endast för inställningar för blanksteg, till exempel indragstil.

Använda kodformat med hjälp av kodrensning

Om du vill använda kodformat från en EditorConfig-fil eller från sidan Alternativ för kodformat använder du knappen Kodrensning längst ned i redigeraren (tangentbord: Ctrl+K, Ctrl+E). Om det finns en EditorConfig-fil för projektet är det de inställningar som har företräde.

Tips

.NET-regler som konfigurerats med allvarlighetsgraden Refactoring Endast deltar inte i kodrensning, men kan tillämpas individuellt via snabbåtgärder och refaktoriseringsmenyn .

Så här använder du kodformat:

  1. Konfigurera först vilka kodformat som du vill använda (i en av två profiler) i dialogrutan Konfigurera kodrensning. Öppna den här dialogrutan genom att klicka på expanderpilen bredvid kodrensningskvastikonen och sedan välja Konfigurera rensning av kod. Du kan också använda menyn Analysera>kodrensning .

    skärmbild av Konfigurera rensning av kod.

    En mappning av .NET-kodrensningskorrigeringar till .NET-kodformatregler finns i rensningsinställningar för .NET-kod.

    C/C++-alternativ inkluderar C++ i namnet på fixeringsfunktionen.

  2. När du har konfigurerat kodrensning använder du någon av följande metoder för att köra kodrensning:

    • Klicka på kvastikonen eller tryck på Ctrl+K, Ctrl+E.

      Skärmbild av Utför kodrensning.

    • Om du vill köra kodrensning i hela projektet eller lösningen högerklickar du på projekt- eller lösningsnamnet i Solution Explorer, väljer Analysera och Rensa kod och väljer sedan Kör kodrensning.

      Skärmbild av kodrensning i hela projektet eller lösningen.

  3. (Valfritt) Om du vill att kodformatinställningarna ska tillämpas varje gång du sparar en fil går du till Alternativ> Rensning avtextredigerarens>kod och väljer Kör kodrensningsprofil när du sparar.

För C#-kodfiler har Visual Studio en kodrensningsknapp längst ned i redigeraren (tangentbord: Ctrl+K, Ctrl+E) för att tillämpa kodformat från en EditorConfig-fil eller från sidan kodformat alternativ. Om det finns en EditorConfig-fil för projektet är det de inställningar som har företräde.

Tips

Regler som konfigurerats med allvarlighetsgraden Ingen deltar inte i kodstädning men kan ändå tillämpas individuellt via menyn Snabbåtgärder och Refaktoriseringar.

Så här använder du kodformat:

  1. Konfigurera först vilka kodformat som du vill använda (i en av två profiler) i dialogrutan Konfigurera kodrensning. Öppna den här dialogrutan genom att klicka på expanderpilen bredvid kodrensningskvastikonen och sedan välja Konfigurera rensning av kod.

    skärmbild av Konfigurera rensning av kod.

  2. När du har konfigurerat kodrensning använder du någon av följande metoder för att köra kodrensning:

    • Klicka på kvastikonen eller tryck på Ctrl+K, Ctrl+E för att köra kodrensning.

      Skärmbild av Utför kodrensning.

    • Om du vill köra kodrensning i hela projektet eller lösningen högerklickar du på projekt- eller lösningsnamnet i Solution Explorer, väljer Analysera och Rensa kodoch väljer sedan Kör kodrensning.

      Skärmbild av kodrensning i hela projektet eller lösningen.

    Om du vill att kodformatinställningarna ska tillämpas varje gång du sparar en fil kanske du gillar Code Cleanup på Spara-tillägget.

Inställningar för rensning av .NET-kod

De flesta inställningar för kodrensning mappas till ett eller flera .NET-kodformat som stöds i EditorConfig. För exempel som visar effekterna av inställningarna, använd länkarna i följande tabell.

Inställning Regel-ID eller formatalternativ
Ta bort onödiga importer eller användningar IDE0005
Sortera importer eller användningar
dotnet_sort_system_directives_firstdotnet_separate_import_directive_groups
Tillämpa inställningar för filhuvud filhuvudmall
Ta bort oanvända variabler CS0219
Tillämpa inställningar för att skapa objekt visual_basic_stil_föredra_förenklad_objektskapelse
Tillämpa IsNot-inställningar visual_basic_style_prefer_isnot_expression
Lägg till kvalificeringen "this" eller "Me" IDE0003-IDE0009
Lägga till hjälpmedelsmodifierare dotnet_style_kräv_åtkomsträttighetsmodifierare
Ordermodifikatorer IDE0036
Gör fältet skrivskyddat dotnet_style_readonly_field
Ta bort onödiga kast IDE0004
Tillämpa initieringsparametrar för objekt/samling) dotnet_style_object_initializer
Tillämpa med hjälp av inställningar för direktivplacering csharp_using_directive_placement
Tillämpa parentesinställningar IDE0047-IDE0048
Tillämpa inställningar för oanvända värden IDE0058
Tillämpa inställningar för språk-/ramverkstyp IDE0049
Ta bort oanvända undertryckningar dotnet_remove_unnecessary_suppression_exclusions
Använd inställningar för att förenkla booleska uttryck dotnet_style_prefer_simplified_boolean_expressions
Tillämpa inställningar för stränginterpolering dotnet_style_föredrar_förenklad_interpolering
Ta bort oanvända parametrar dotnet_kodkvalitet_onödiga_parametrar
Tillämpa preferenser för automatiska egenskaper dotnet_style_prefer_auto_properties (Föredra automatiska egenskaper i dotnet-stil)
Tillämpa inställningar för sammansatt tilldelning dotnet_style_prefer_compound_assignment
Tillämpa inställningar för sammanslagningsuttryck dotnet_style_coalesce_expression
Tillämpa inställningar för villkorsstyrda uttryck
dotnet_style_prefer_conditional_expression_over_assignmentdotnet_style_prefer_conditional_expression_over_return
Tillämpa tuple-namninställningar
dotnet_style_explicit_tuple_namesdotnet_style_prefer_inferred_tuple_names
Tillämpa inställningar för härledda anonyma typmedlemsnamn dotnet_style_prefer_inferred_anonymous_type_member_names
Tillämpa inställningar för null-kontroll dotnet_stil_preferera_is_null_check_över_referens_likhetsmetod
Tillämpa null-spridningsinställningar dotnet_style_null_propagation
Tillämpa 'var'-inställningar IDE0007-IDE0008
Lägga till nödvändiga klammerparenteser för enradskontrollinstruktioner csharp_prefer_braces
Tillämpa inställningar för uttryck/blocktext uttrycksbaserade medlemmar
Tillämpa inställningar för inbäddade "out"-variabler csharp_stil_inlined_variabeldeklaration
Tillämpa mönstermatchningsinställningar Inställningar för mönstermatchning
Tillämpa anropsinställningar för villkorsstyrda ombud csharp_stil_konditionell_delegatkall
Tillämpa statiska lokala funktionsinställningar csharp_föredra_statisk_lokal_funktion
Tillämpa dekonstruktionsinställningar csharp_stil_för_dekonstruerad_variabeldeklaration
Tillämpa standardinställningar (T) If explanation or clarity is needed: preferens_för_enkel_default_uttryck_i_csharp If left untranslated: csharp_prefer_simple_default_expression
Tillämpa inställningar för new() csharp_stil_implicit_objektskapande_när_typen_är_tydlig
Tillämpa intervallinställningar csharp_style_prefer_range_operator
Tillämpa lokala inställningar för anonyma funktioner csharp_stil_mönster_lokal_över_anonym_funktion
Tillämpa null-inställningar för parametern Null-kontrollinställningar
Tillämpa med hjälp av instruktionsinställningar csharp_föredrar_enkel_using_sats
Tillämpa inställningar för utkastsuttryck csharp_style_throw_expression