Udostępnij za pośrednictwem


Analiza kodu przy użyciu analizatorów platformy kompilatora .NET (Roslyn)

Analizatory platformy kompilatora .NET (Roslyn) sprawdzają kod języka C# lub Visual Basic pod kątem stylu, jakości, konserwacji, projektowania i innych problemów. Ta inspekcja lub analiza odbywa się w czasie projektowania we wszystkich otwartych plikach.

Analizatory są podzielone na następujące grupy:

Poziomy poważności analizatorów

Każda reguła analizatora Roslyn lub diagnostyka ma domyślny poziom ważności i stan tłumienia, który można dostosować dla Twojego projektu.

Poziomy ważności obejmują: Błąd, Ostrzeżenie, Sugestia, Dyskretna, Brak i Wartość domyślna. Aby uzyskać szczegółowe informacje i zachowanie, zobacz Konfigurowanie poziomów ważności.

Naruszenia reguł

Jeśli analizator znajdzie jakiekolwiek naruszenia reguł analizatora, zgłasza je w oknie Lista błędów i w edytorze kodu.

Poniższy zrzut ekranu przedstawia naruszenia reguł zgłoszone w oknie Lista błędów . Naruszenia analizatora zgłoszone na liście błędów są zgodne z ustawieniem poziomu ważności reguły:

Zrzut ekranu przedstawiający naruszenia analizatora w oknie Lista błędów.

Naruszenia reguły analizatora są również wyświetlane w edytorze kodu jako faliste linie pod powodującym problemy kodem. Na przykład na poniższym zrzucie ekranu przedstawiono trzy naruszenia: jeden błąd (czerwona linia zquiggle), jedno ostrzeżenie (zielona linia zquiggle) i jedna sugestia (trzy szare kropki):

Zrzut ekranu przedstawiający znaczniki błędów, ostrzeżeń i sugestii w edytorze kodu.

Poprawki kodu

Wiele diagnostów ma jedną lub więcej skojarzonych poprawek kodu, które można zastosować, aby skorygować naruszenie reguły. Poprawki kodu są wyświetlane w menu ikon żarówki wraz z innymi typami szybkich akcji. Aby uzyskać więcej informacji na temat poprawek kodu, zobacz Typowe szybkie akcje.

Zrzut ekranu przedstawiający naruszenie analizatora i poprawkę kodu za pomocą funkcji Szybkie Działanie w edytorze kodu.

Konfigurowanie poziomów ważności analizatora

Ważność reguł analizatora można skonfigurować w pliku EditorConfig lub w menu żarówki.

Możesz również skonfigurować analizatory do sprawdzania kodu w czasie kompilacji i podczas pisania. Zakres analizy kodu na żywo można skonfigurować do wykonania tylko dla bieżącego dokumentu, wszystkich otwartych dokumentów lub całego rozwiązania. Aby uzyskać więcej informacji, zobacz Konfigurowanie analizy kodu na żywo dla platformy .NET.

Wskazówka

Błędy i ostrzeżenia dotyczące czasu kompilacji z analizatorów kodu są wyświetlane tylko wtedy, gdy analizatory są instalowane jako pakiet NuGet. Wbudowane analizatory (na przykład IDE0067 i IDE0068) nigdy nie są uruchamiane podczas kompilacji.

Instalowanie analizatorów kodu zewnętrznego

Program Visual Studio zawiera podstawowy zestaw analizatorów Roslyn, które są zawsze aktywne. Jeśli potrzebujesz więcej analizatorów kodu, możesz zainstalować analizatory zewnętrzne dla każdego projektu za pośrednictwem pakietu NuGet. Niektóre analizatory są również dostępne jako rozszerzenie vsix programu Visual Studio, w którym przypadku mają zastosowanie do dowolnego rozwiązania otwartego w programie Visual Studio. Aby uzyskać informacje na temat instalowania tych dwóch różnych typów analizatorów, zobacz Instalowanie analizatorów kodu.

Scope

W przypadku instalowania analizatora jako pakietu NuGet preferowana metoda dla analizatorów zewnętrznych ma zastosowanie tylko do projektu, w którym zainstalowano pakiet NuGet. W przeciwnym razie, jeśli zainstalujesz analizator jako rozszerzenie programu Visual Studio, będzie on stosowany na poziomie rozwiązania i do wszystkich wystąpień programu Visual Studio. W środowiskach zespołowych analizator instalowany jako pakiet NuGet jest przeznaczony dla wszystkich deweloperów, którzy pracują nad tym projektem.

Uwaga / Notatka

Analizatory pierwszej firmy są dostarczane w ramach zestawu SDK platformy .NET. Zaleca się włączenie tych analizatorów z zestawu .NET SDK zamiast instalowania ich jako Microsoft.CodeAnalysis.NetAnalyzerspakietu NuGet. Włączenie analizatorów z zestawu .NET SDK gwarantuje, że automatycznie uzyskasz poprawki błędów analizatora i nowe analizatory zaraz po zaktualizowaniu zestawu SDK. Aby uzyskać więcej informacji na temat analizatorów, zobacz Włączanie lub instalowanie analizatorów platformy .NET innych firm.

Błędy kompilacji

Aby egzekwować reguły w czasie kompilacji, przy użyciu kompilacji z wiersza poleceń lub ciągłej integracji (CI), wybierz jedną z następujących opcji:

  • Utwórz projekt .NET 5.0 lub nowszy, który domyślnie umożliwia analizę kodu. Aby włączyć analizę kodu dla projektów docelowych wcześniejszych wersji platformy .NET, ustaw właściwość EnableNETAnalyzers na true.

  • Zainstaluj analizatory jako pakiet NuGet. Jeśli zainstalujesz analizatory jako rozszerzenie programu Visual Studio, ostrzeżenia analizatora i błędy nie będą wyświetlane w raporcie kompilacji.

Poniższy zrzut ekranu przedstawia dane wyjściowe kompilacji wiersza polecenia z kompilowania projektu zawierającego naruszenie reguły analizatora:

Zrzut ekranu przedstawiający dane wyjściowe programu MSBuild z naruszeniem reguły w wierszu polecenia dewelopera.

Ważność reguły

Jeśli chcesz skonfigurować ostrość reguły analizatora dla analizatorów zewnętrznych, musisz zainstalować analizator jako pakiet NuGet. Nie można skonfigurować ostrości reguły w analizatorach zainstalowanych jako rozszerzenia Visual Studio.

Dalsze kroki