Kódelemzés .NET-fordítóplatform (Roslyn) elemzőkkel

A .NET fordítóplatform (Roslyn) elemzői stílussal, minőséggel, karbantarthatóságmal, tervezéssel és egyéb problémákkal foglalkoznak a C# vagy a Visual Basic kóddal. Ez az ellenőrzés vagy elemzés az összes megnyitott fájl tervezési ideje alatt történik.

Az elemzők a következő csoportokba vannak osztva:

Az elemzők súlyossági szintjei

Minden Roslyn-elemző szabálynak vagy diagnosztikai szabálynak van egy alapértelmezett súlyossága és elnyomási állapota, amelyet testre szabhat a projekthez.

A súlyossági szintek a következők: Hiba, Figyelmeztetés, Javaslat, Csendes, Nincs és Alapértelmezett. Részletes információkért és viselkedésért tekintse meg a súlyossági szintek konfigurálását ismertető témakört.

Szabálysértések

Ha egy elemző bármilyen elemzőszabály-szabálysértést talál, a Hibalista ablakban és a kódszerkesztőben jelenti őket.

Az alábbi képernyőkép a Hibalista ablakban jelentett szabályszegéseket mutatja be. A hibalistában jelentett elemzői szabálysértések megegyeznek a szabály súlyossági szintjének beállításával :

Képernyőkép az elemzői hibákról a Hibalista ablakban.

Képernyőkép az elemzői hibákról a Hibalista ablakban.

Az elemzőszabály-szabály megsértései a kódszerkesztőben is megjelennek a szabálysértő kód alatti hullámos vonalakként. Az alábbi képernyőképen például három szabálysértés látható: egy hiba (piros hullámos vonal), egy figyelmeztetés (zöld hullámos vonal) és egy javaslat (három szürke pont):

A kódszerkesztőben megjelenő hibaüzeneteket, figyelmeztetéseket és javaslatjeleket megjelenítő képernyőkép.

Kódjavítások

Számos diagnosztika rendelkezik egy vagy több társított kódjavítással , amelyeket alkalmazhat a szabálysértés kijavításához. A kódjavítások a villanykörte ikon menüjében, valamint más típusú gyorsműveletek is megjelennek. A kódjavításokról további információt a Gyakori gyorsműveletek című témakörben talál.

Képernyőkép az elemzők megsértéséről és a gyorsműveleti kód javításról a kódszerkesztőben.

Az elemző súlyossági szintjeinek konfigurálása

Az elemzőszabályok súlyosságát egy EditorConfig-fájlban vagy a villanykörte menüben konfigurálhatja.

Az elemzőket úgy is konfigurálhatja, hogy a buildeléskor és a beíráskor vizsgálja meg a kódot. Az élő kódelemzés hatókörét konfigurálhatja úgy, hogy csak az aktuális dokumentumra, az összes megnyitott dokumentumra vagy a teljes megoldásra hajtsa végre. További információ: Élő kódelemzés konfigurálása a .NET-hez.

Jótanács

A buildelési hibák és a kódelemzők figyelmeztetései csak akkor jelennek meg, ha az elemzők NuGet-csomagként vannak telepítve. A beépített elemzők (például IDE0067 és IDE0068) soha nem futnak a buildelés során.

Külső kódelemzők telepítése

A Visual Studio tartalmazza a Roslyn-elemzők alapvető készletét, amelyek mindig aktívak. Ha több kódelemzőre van szüksége, minden projekthez telepíthet külső elemzőket egy NuGet-csomagon keresztül. Egyes elemzők Visual Studio .vsix-bővítményként is elérhetők, ebben az esetben a Visual Studióban megnyitott megoldásokra vonatkoznak. A két különböző típusú elemző telepítéséről további információt a Kódelemzők telepítése című témakörben talál.

Hatókör

Ha nuGet-csomagként telepít egy elemzőt, amely a külső elemzők előnyben részesített módszere, az csak arra a projektre vonatkozik, amelyben a NuGet-csomag telepítve van. Ellenkező esetben, ha egy elemzőt Visual Studio-bővítményként telepít, az a megoldás szintjén és a Visual Studio összes példányára érvényes. Csapatkörnyezetekben a NuGet-csomagként telepített elemző az adott projekten dolgozó összes fejlesztő számára elérhető.

Megjegyzés:

Az első féltől származó elemzők a .NET SDK-n belül szállnak le. Célszerű engedélyezni ezeket az elemzőket a .NET SDK-ból ahelyett, hogy Microsoft.CodeAnalysis.NetAnalyzers telepíti őket. Ha engedélyezi az elemzőket a .NET SDK-ból, akkor az SDK frissítése után azonnal automatikusan megkapja az elemzői hibajavításokat és az új elemzőket. Az elemzőkről további információt az első féltől származó .NET-elemzők engedélyezése vagy telepítése című témakörben talál.

Összeállítási hibák

Ha parancssori vagy folyamatos integrációs (CI) buildekkel szeretné kikényszeríteni a szabályokat a létrehozáskor, válasszon az alábbi lehetőségek közül:

  • Hozzon létre egy .NET 5.0-s vagy újabb projektet, amely alapértelmezés szerint engedélyezi a kódelemzést. A korábbi .NET-verziókat megcélzó projektek kódelemzésének engedélyezéséhez állítsa az EnableNETAnalyzers tulajdonságot a következőre true: .

  • Telepítse az elemzőket NuGet-csomagként. Ha az elemzőket Visual Studio-bővítményként telepíti, az elemző figyelmeztetései és hibái nem jelennek meg a buildjelentésben.

Az alábbi képernyőképen egy olyan projekt parancssori buildkimenete látható, amely egy elemzési szabály megsértését tartalmazza:

Képernyőkép egy MSBuild kimenetről, amely szabálysértést tartalmaz egy fejlesztői parancssorban.

Szabály súlyossága

Ha a külső elemzőkhöz szeretné konfigurálni az elemzőszabály súlyosságát , nuGet-csomagként kell telepítenie az elemzőt. Nem konfigurálható a szabály súlyossága a Visual Studio-bővítményként telepített elemzőktől.

Következő lépések