Megosztás a következőn keresztül:


A kódstílus beállításai és a kódkarbantartás

A kódstílus-beállítások lehetővé teszik a kód olyan aspektusainak szabályozását, mint a behúzási stílus, a tabulátorszélesség, a sorvégi karakterek, a kódolás és sok más formázási lehetőség. A kódstílus-beállításokat kétféleképpen határozhatja meg:

A Visual Studio úgy is konfigurálható, hogy kódstílus-beállításokat alkalmazzon a Kódkarbantartás és a Dokumentum formázása parancsokkal.

A kódstílus-beállításokat projektenként egy EditorConfig-fájllal, vagy a Visual Studióban a szövegszerkesztő .NET Beállítások lapján vagy a C/C++ Beállítások lapon szerkesztett összes kódhoz definiálhatja. C#-kód esetén konfigurálhatja azt is, hogy a Visual Studio a Kódkarbantartó (Visual Studio 2019) és a Dokumentum formázása (Visual Studio 2017) parancsokkal alkalmazza ezeket a kódstílus-beállításokat.

A .NET esetében a kódstílus-beállítások a .NET fordítóplatformon (Roslyn) alapuló elemzőken alapulnak. További információ: Kódelemzés .NET-fordítóplatform (Roslyn) elemzőkkel.

A Visual Studio 2019 16.5-ös és újabb verzióiban a szabálykészletfájlok elavultak a .NET-kód kódstílus-konfigurálását szolgáló EditorConfig-fájlok javára. További információ: Meglévő szabálykészletfájl konvertálása Szerkesztőkonfigurációs fájllá.

Kódstílusok a EditorConfig-fájlokban

A kódstílus-beállítások úgy adhatók meg, hogy hozzáad egy EditorConfig-fájlt a projekthez. A EditorConfig-fájlok a Visual Studio személyre szabási fiókja helyett egy kódbázishoz vannak társítva. A Szerkesztőkonfigurációs fájl beállításai elsőbbséget élveznek a Beállítások párbeszédpanelen megadott kódstílusokkal szemben. Akkor használjon Szerkesztőkonfigurációs fájlt, ha az adattár vagy projekt összes közreműködője számára szeretné kikényszeríteni a kódolási stílusokat. Különösen hasznosak a teams programozási környezet konzisztenciájának biztosításához.

Szerkesztőkonfigurációs fájl hozzáadásához lásd : EditorConfig-fájlok hozzáadása és eltávolítása.

A .NET-kódstílusok beállításaival kapcsolatos információkért lásd a Kódstílus beállításai című témakört.

C/C++ kódstílusok a Beállítások párbeszédpanelen

Számos egyéni kódformázási beállítást adhat meg, például behúzási és zárójelpozíciót. Ehhez nyissa meg az Eszközök>beállításai>szövegszerkesztő>C/C++>Kódstílus>formázása lehetőséget (vagy írja be a Ctrl + Q billentyűkombinációt , és keresse meg a "Formázás" kifejezést). Másik lehetőségként megadhatja a ClangFormat stílusok egyikét (vagy saját egyéni ClangFormat stílusát).

Képernyőkép a Beállítások panelről a Szövegszerkesztővel.

Számos egyéni kódformázási beállítást adhat meg, például behúzási és zárójelpozíciót. Ehhez nyissa meg az Eszközök>beállításai>szövegszerkesztő>C/C++Formázás> lehetőséget (vagy írja be a Ctrl + Q billentyűkombinációt, és keressen rá a "Formázás" kifejezésre). Másik lehetőségként megadhatja a ClangFormat stílusok egyikét (vagy saját egyéni ClangFormat stílusát).

További információ az összes formázási beállításról: Beállítások, Szövegszerkesztő, C/C++, Formázás.

.NET-kódstílusok a Beállítások párbeszédpanelen

A kódstílus-beállítások az összes C# és Visual Basic-projekthez beállíthatók a Beállítások párbeszédpanel megnyitásával az Eszközök menüben. A Beállítások párbeszédpanelen válassza a Szövegszerkesztő> [C# vagy Visual Basic] >kódstílusát.

  • Formázási stílusok esetén válassza a Formázás csoportban lévő beállításokat.
  • A Gyorsműveletek és az IDE kódstílus-szabályokhoz társított kódstílus-beállításokhoz válassza az Általános vagy az Elnevezés területen lévő beállításokat.

A kódstílus-beállítások az összes C# és Visual Basic-projekthez beállíthatók a Beállítások párbeszédpanel megnyitásával az Eszközök menüben. A Beállítások párbeszédpanelen válassza Szövegszerkesztő> [C# vagy Alapszintű] >Kódstílus>Általánoslehetőséget.

A lista minden eleme megjeleníti a beállítás előnézetét, amikor kiválasztja az opciót.

A kódstílus beállításainak képernyőképe.

A kódstílus beállításainak képernyőképe.

Az ebben az ablakban megadott beállítások a Visual Studio személyre szabási fiókjára vonatkoznak, és nincsenek hozzárendelve egy adott projekthez vagy kódbázishoz. Emellett a buildeléskor nem lesznek kényszerítve, beleértve a folyamatos integrációs (CI) buildeket is. Ha kódstílus-beállításokat szeretne társítani a projekthez, és a stílusokat a buildelés során szeretné kikényszeríteni, adja meg a projekthez társított Szerkesztőkonfigurációs fájl beállításait.

Preferenciák és súlyosság

Az Általános és elnevezési beállítások lapon található minden kódstílus-beállításhoz beállíthatja a Beállítások és súlyosság értékeket az egyes sorok legördülő listájával. A súlyosság beállítható úgy, hogy csakújrabontása, javaslati, figyelmeztetésivagy hiba.

  • Az Általános és elnevezési beállítások lapon található kódstílus-beállítások határozzák meg a kódstílus gyorsműveleteit . A gyorsműveletek villanykörte , hibalámpás vagy csavarhúzó ikon nem előnyben részesített stílus használatakor jelenik meg, és a Gyorsműveletek listában választhatja a kódot automatikusan átírni az előnyben részesített stílusra.
  • Ha azt szeretné, hogy a szabálysértés csak gyorsműveletként jelenjen meg, és a kódkarbantartásból is ki legyen zárva, állítsa a súlyosságotcsak újrabontásra.
  • Ha azt szeretné, hogy a hiba megjelenjen a Hibalista ablakban, valamint a Quick Actions funkcióban, és szerepeljen a kódkarbantartás során, állítsa a súlyosságotjavaslat, figyelmeztetés vagy hiba értékre. A szabálysértések javaslatként (üzenetként), figyelmeztetésként vagy hibaüzenetként jelennek meg, amikor a Hiba lista ablakban a kimenetet a Build + IntelliSense értékre állítja. Csak a build kimenetéből vannak kizárva.

A Szerkesztőkonfigurációs fájl beállításai elsőbbséget élveznek az ezekben a lapokban beállított kódstílusokkal szemben.

A kódstílusok érvényesítése a build során

A Visual Studio 2019 16.8-ás verziójától kezdve, amely tartalmazza a .NET 5.0 RC2 SDK-t, kényszerítheti a .NET kódolási konvencióinak kikényszerítését az összes .NET-projekt buildelési. A buildeléskor a .NET-kódstílusok megsértései figyelmeztetésként vagy "IDE" előtaggal kapcsolatos hibákként jelennek meg. Ez lehetővé teszi, hogy szigorúan konzisztens kódstílusokat kényszerítsen ki a kódbázisban.

Kódstílusok alkalmazása

Ha módosít egy kódstílust a Beállítások lapon, vagy hozzáad egy EditorConfig-fájlt a projekthez a Visual Studióban, csak az új kódsorok lesznek formázva az új beállítások alapján. A meglévő kód formázása csak akkor változik, ha az alábbi parancsok egyikét futtatja:

  • Kódkarbantartás.

    Válassza a Kódkarbantartó lehetőséget a Visual Studio szerkesztőjében, vagy nyomja le Ctrl+K, Ctrl+E. Ez a parancs a szóközökre vonatkozik, például a behúzási stílusra és a kijelölt kódstílus-beállításokra, például a zárójelbeállításokra.

  • Dokumentum formázása.

    Válassza a Szerkesztés>Speciális>Dokumentum formátumalehetőséget, vagy nyomja le Ctrl+K, Ctrl+D az alapértelmezett profilban. Ez a parancs csak a szabad terület beállításaira vonatkozik, például a behúzási stílusra.

Kódstílusok alkalmazása kódkarbantartással

Ha egy Szerkesztőkonfigurációs fájlból vagy a Kódstílus beállításai lapról szeretne kódstílusokat alkalmazni, használja a szerkesztő alján található Kódkarbantartás gombot (billentyűzet: Ctrl+K, Ctrl+E). Ha egy EditorConfig-fájl létezik a projekthez, ezek azok a beállítások, amelyek elsőbbséget élveznek.

Borravaló

A csak újrabontási súlyossággal konfigurált .NET-szabályok nem vesznek részt a kódkarbantartásban, de a Gyorsműveletek és újrabontások menüben egyenként alkalmazhatók.

Kódstílusok alkalmazása:

  1. Először konfigurálja az alkalmazni kívánt kódstílusokat (két profil egyikében) a Kódkarbantartás konfigurálása párbeszédpanelen. A párbeszédpanel megnyitásához kattintson a kódkarbantartási seprű ikon melletti kibontó nyílra, majd válassza a Kódkarbantartás konfigurálásalehetőséget. Másik lehetőségként használja az Elemzési>kód törlése menüt .

    A kódkarbantartás konfigurálásának képernyőképe.

    A .NET kódkarbantartó eszközök .NET kódstílus-szabályokra történő leképezéséről a .NET-kódkarbantartási beállítások című részben található információ.

    A C/C++ beállítások között szerepel, hogy a javító nevében legyen benne a C++.

  2. A kódkarbantartás konfigurálása után a kódkarbantartás futtatásához használja az alábbi módszerek egyikét:

    • Kattintson a seprű ikonra, vagy nyomja le Ctrl+K, Ctrl+E.

      Képernyőkép a kódkarbantartás végrehajtásáról.

    • Ha a teljes projektben vagy megoldásban szeretné futtatni a kódkarbantartást, kattintson a jobb gombbal a projekt vagy megoldás nevére a Megoldáskezelőben, válassza az Elemzés és kódkarbantartás lehetőséget, majd válassza a Kódkarbantartó futtatása parancsot.

      Képernyőkép a kódkarbantartás futtatásáról a teljes projektben vagy megoldásban.

  3. (Nem kötelező) Ha azt szeretné, hogy a kódstílus-beállítások minden fájl mentésekor érvényesüljenek, lépjen a Beállítások>szövegszerkesztő>kódkarbantartási elemére, és válassza a Kódkarbantartó profil futtatása mentéskor lehetőséget.

C#-kódfájlok esetén a Visual Studio Kódkarbantartó gombot tartalmaz a szerkesztő alján (billentyűzet: Ctrl+K, Ctrl+E) a Szerkesztőkonfigurációs fájlból vagy a Kódstílus beállításlapról. Ha egy EditorConfig-fájl létezik a projekthez, ezek azok a beállítások, amelyek elsőbbséget élveznek.

Borravaló

A súlyosságú szabályok nincsenek nem vesznek részt a kódkarbantartásban, de egyénileg alkalmazhatók a Gyorsműveletek és újrabontások menüben.

Kódstílusok alkalmazása:

  1. Először konfigurálja az alkalmazni kívánt kódstílusokat (két profil egyikében) a Kódkarbantartás konfigurálása párbeszédpanelen. A párbeszédpanel megnyitásához kattintson a kódkarbantartási seprű ikon melletti kibontó nyílra, majd válassza a Kódkarbantartás konfigurálásalehetőséget.

    A kódkarbantartás konfigurálásának képernyőképe.

  2. A kódkarbantartás konfigurálása után a kódkarbantartás futtatásához használja az alábbi módszerek egyikét:

    • Kattintson a seprű ikonra, vagy nyomja le Ctrl+K, Ctrl+E a kód törlésének futtatásához.

      Képernyőkép a kódkarbantartás végrehajtásáról.

    • A teljes projekt vagy megoldás kódkarbantartásának futtatásához kattintson a jobb gombbal a projekt vagy a megoldás nevére Megoldáskezelő, válassza az Elemzés és kódkarbantartólehetőséget, majd válassza a Kódkarbantartófuttatása lehetőséget.

      Képernyőkép a kódkarbantartás futtatásáról a teljes projektben vagy megoldásban.

    Ha azt szeretné, hogy a kódstílus-beállítások minden fájl mentésekor érvényesek legyenek, akkor a Kódkarbantartás a Mentés bővítményen is tetszeni fog.

.NET-kódkarbantartó beállítások

A kódkarbantartási beállítások többsége egy vagy több, a EditorConfigban támogatott .NET-kódstílusra van megfeleltetve. A beállítások hatásait szemléltető példákhoz használja az alábbi táblázatban található hivatkozásokat.

Beállítás Szabályazonosító vagy stílusbeállítás
Szükségtelen importálások vagy használatok eltávolítása IDE0005
Importálások vagy -használatok rendezése dotnet_rendez_rendszer_direktívák_először
dotnet_szeparál_import_direktíva_csoportok
Fájlfejléc beállításainak alkalmazása file_header_template
Nem használt változók eltávolítása CS0219
Objektumlétrehozás beállításainak alkalmazása visual_basic_style_egyszerusitett_objektum_letrehozasat_reszesitse_elonyben
IsNot-beállítások alkalmazása visual_basic_stílus_inkább_isnot_kifejezés
"Ez" vagy "Én" minősítés hozzáadása IDE0003-IDE0009
Akadálymentességi módosítók hozzáadása dotnet_stílus_kötelező_elérhetőségi_modifikátorok
Rendelésmódosítók IDE0036
Mező csak olvashatóvá tétele `dotnet_style_readonly_field`
Szükségtelen leadások eltávolítása IDE0004
Objektum/gyűjtemény inicializálási paramétereinek alkalmazása) dotnet_style_object_initializer (objektum inicializáló stílusa a .NET-ben)
Alkalmazza az irányelvelhelyezési beállítások figyelembevételével csharp_using_directive_placement
Zárójelbeállítások alkalmazása IDE0047-IDE0048
Nem használt értékbeállítások alkalmazása IDE0058
Nyelvi/keretrendszertípus-beállítások alkalmazása IDE0049
A nem használt letiltások eltávolítása dotnet_eltávolítja_a_felesleges_szuppressziós_kizárásokat
Logikai kifejezések egyszerűsítésére vonatkozó beállítások alkalmazása dotnet_style_prefer_simplified_boolean_expressions
Sztring interpolációs beállításainak alkalmazása dotnet_style_prefer_simplified_interpolation
A nem használt paraméterek eltávolítása dotnet_code_quality_nem_használt_paraméterek
Automatikus tulajdonságbeállítások alkalmazása dotnet_style_prefer_auto_properties, amely egy beállítás a .NET kódolási stílusokhoz, amely az automatikus tulajdonságok preferálását határozza meg.
Összetett hozzárendelési beállítások alkalmazása dotnet_style_prefer_compound_assignment
Coalesce-kifejezés preferenciáinak alkalmazása dotnet_style_coalesce_expression
Feltételes kifejezés beállításainak alkalmazása
dotnet_style_prefer_conditional_expression_over_assignmentdotnet_style_prefer_conditional_expression_over_return
A tömbnév beállításainak alkalmazása
dotnet_style_explicit_tuple_namesdotnet_style_prefer_inferred_tuple_names
A névtelen típusú tagnevekre vonatkozó következtetéses beállítások alkalmazása dotnet_style_prefer_inferred_anonymous_type_member_names
Null értékű ellenőrzési beállítások alkalmazása dotnet_stílus_prefer_is_null_ellenőrzés_referencia_egyenlőség_módszer_helyett
Null propagálási beállítások alkalmazása dotnet_style_null_propagation
"var" beállítások alkalmazása IDE0007-IDE0008
Kötelező zárójelek hozzáadása egysoros vezérlő utasításokhoz csharp_prefer_braces
Kifejezés/blokk törzsbeállításainak alkalmazása kifejezéssel testesített tagok
Beágyazott "out" változók beállításainak alkalmazása csharp_stílus_beágyazott_változó_deklaráció
Mintaegyeztetési beállítások alkalmazása Mintaegyeztetési beállítások
Feltételes delegált hívási beállítások alkalmazása csharp_stílus_feltételes_delegált_hívás
Statikus helyi függvénybeállítások alkalmazása csharp_statikus_helyi_metódus_előnyben_részesítése
Preferenciák lebontásának alkalmazása csharp_stílusú_lebontott_változójáványilvánítás
Alapértelmezett(T) beállítások alkalmazása csharp_egyszerűbb_alapértelmezett_kifejezés_engedélyezése
Új() beállítások alkalmazása csharp_stílus_implikált_objektum_teremtés_amikor_típus_nyilvánvaló
Tartománybeállítások alkalmazása csharp_style_prefer_range_operator (C#-stílus, preferálja a tartomány operátort)
Helyi beállítások alkalmazása névtelen függvényekkel szemben csharp_stílus_minta_helyi_függvény_anonim_függvény_felett
Nullértékű paraméterpreferenciák alkalmazása nullellenőrzési beállítások
Alkalmazás utasításbeállítások használatával csharp_egyszerűbb_használati_utafüggvény_preferencia
A dobáskifejezés előnyben részesítéseinek alkalmazása csharp_style_throw_expression