Megosztás:


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

Az Eszközök>beállításai panelen bontsa ki az Összes beállításnyelv>>C/C++>Kódstílus>formázása>általános szakaszát. Használhatja a Ctrl + Q billentyűparancsot is, és megkeresheti a formázást. Másik lehetőségként megadhatja a ClangFormat stílust vagy a saját egyéni ClangFormat stílusát.

Képernyőkép a C és C++ kódstílus általános formázási beállításairól.

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.

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 az Eszközök menü Beállítások párbeszédpaneljének megnyitásával. 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 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.

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 , hiba villanykörte , vagy csavarhúzó ikon jelenik meg, amikor nem preferált stílust használ, és a Gyorsműveletek listáján választhat egy lehetőséget, amellyel automatikusan átírhatja a kódot 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 szeretné, hogy a hiba megjelenjen a Hibalista ablakban a Gyorsműveletekkel együtt, és szerepeljen a kódkarbantartásban, állítsa a súlyosságot, javaslat, 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 hibaként jelennek meg egy "IDE" előtaggal. 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, a fájl beállításai 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 válassza a kódkarbantartó seprű ikon melletti kibontó nyilat, majd válassza a Kódkarbantartás konfigurálása lehető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:

    • Válassza a seprű ikont, vagy nyomja le a Ctrl+K, CtrlE+.

      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.

.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