Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kompilatory tworzą szczegółowy model kodu aplikacji podczas weryfikowania składni i semantyki tego kodu. Używają tego modelu do tworzenia wykonywalnych danych wyjściowych z kodu źródłowego. Zestaw SDK platformy kompilatora .NET zapewnia dostęp do tego modelu. Coraz częściej korzystamy ze zintegrowanych funkcji środowiska projektowego (IDE), takich jak IntelliSense, refaktoryzacja, inteligentna zmiana nazwy, "Znajdź wszystkie odwołania" i "Przejdź do definicji", aby zwiększyć produktywność. Korzystamy z narzędzi do analizy kodu, aby poprawić jakość kodu i generatory kodu, aby pomóc w konstruowaniu aplikacji. Ponieważ te narzędzia są inteligentniejsze, potrzebują dostępu do coraz większej liczby modeli, które tworzą tylko kompilatory podczas przetwarzania kodu aplikacji. Jest to podstawowa misja interfejsów API Roslyn: otwieranie nieprzejrzystych pudełek i umożliwienie narzędziom oraz użytkownikom końcowym dzielenia się bogactwem informacji, jakie kompilatory posiadają o naszym kodzie. Zamiast działać jako przezroczyste translatory, które przyjmują kod źródłowy i zwracają kod wynikowy, dzięki Roslyn kompilatory stają się platformami: interfejsami API, których można używać do zadań związanych z kodem w narzędziach i aplikacjach.
Pojęcia dotyczące zestawu SDK platformy kompilatora .NET
Zestaw SDK platformy kompilatora .NET znacznie obniża barierę wejścia w tworzenie narzędzi i aplikacji skoncentrowanych na kodzie. Tworzy wiele możliwości innowacji w takich obszarach, jak metaprogramowania, generowanie kodu i transformacja, interaktywne używanie języków C# i Visual Basic oraz osadzanie języków C# i Visual Basic w językach specyficznych dla domeny.
Zestaw SDK platformy kompilatora .NET umożliwia tworzenie analizatorów i poprawek kodu , które wyszukują i naprawiają błędy kodowania. Analizatory rozumieją składnię (strukturę kodu) i semantyki w celu wykrywania praktyk, które powinny zostać poprawione. Poprawki kodu zawierają co najmniej jedną sugerowaną poprawkę do rozwiązywania błędów kodowania znalezionych przez analizatory lub diagnostykę kompilatora. Zazwyczaj analizator i skojarzone poprawki kodu są pakowane razem w jednym projekcie.
Analizatory i poprawki kodu używają analizy statycznej do zrozumienia kodu. Nie uruchamiają kodu ani nie zapewniają innych korzyści z testowania. Mogą one jednak wskazywać na praktyki, które często prowadzą do usterek, nieutrzymywalnego kodu lub naruszenia standardowych wytycznych.
Oprócz analizatorów i poprawek kodu zestaw SDK platformy kompilatora .NET umożliwia również tworzenie refaktoryzacji kodu. Udostępnia również jeden zestaw interfejsów API, które umożliwiają analizowanie i zrozumienie bazy kodu w języku C# lub Visual Basic. Ponieważ można użyć tej pojedynczej bazy kodu, można łatwiej pisać analizatory i poprawki kodu, korzystając z interfejsów API analizy składniowej i semantycznej dostarczonej przez zestaw SDK platformy kompilatora .NET. Zwolnione z dużego zadania replikowania analizy wykonywanej przez kompilator można skoncentrować się na bardziej skoncentrowanym zadaniu znajdowania i naprawiania typowych błędów kodowania dla projektu lub biblioteki.
Mniejszą korzyścią jest to, że analizatory i poprawki kodu są mniejsze i używają znacznie mniejszej ilości pamięci podczas ładowania w programie Visual Studio niż w przypadku programowania własnej bazy kodu w celu zrozumienia kodu w projekcie. Korzystając z tych samych klas używanych przez kompilator i program Visual Studio, możesz utworzyć własne narzędzia do analizy statycznej. Oznacza to, że twój zespół może używać analizatorów i poprawek kodu bez zauważalnego wpływu na wydajność środowiska IDE.
Istnieją trzy główne scenariusze pisania analizatorów i poprawek kodu:
- Wymuszanie standardów kodowania zespołu
- Zapewnianie wskazówek dotyczących pakietów bibliotek
- Zapewnianie ogólnych wskazówek
Wymuszanie standardów kodowania zespołu
Wiele zespołów ma standardy kodowania, które są wymuszane za pośrednictwem przeglądów kodu z innymi członkami zespołu. Analizatory i poprawki kodu mogą sprawić, że ten proces będzie znacznie bardziej wydajny. Przeglądy kodu są wykonywane, gdy deweloper dzieli swoją pracę z innymi osobami w zespole. Deweloper zainwestował cały czas potrzebny do ukończenia nowej funkcji przed uzyskaniem komentarzy. Tygodnie mogą mijać, podczas gdy deweloper wzmacnia nawyki, które są niezgodne z praktykami zespołu.
Analizatory działają jako deweloper pisze kod. Deweloper otrzymuje natychmiastową opinię, która zachęca do natychmiastowego przestrzegania wskazówek. Deweloper tworzy nawyki dotyczące pisania zgodnego kodu zaraz po rozpoczęciu tworzenia prototypów. Gdy funkcja jest gotowa do przejrzenia przez ludzi, wdrożono wszystkie standardowe wytyczne.
Zespoły mogą tworzyć analizatory i poprawki kodu, które szukają najbardziej typowych rozwiązań naruszających praktyki kodowania zespołowego. Można je zainstalować na maszynie każdego dewelopera, aby wymusić standardy.
Wskazówka
Zanim zbudujesz własny analizator, zapoznaj się z tymi wbudowanymi. Aby uzyskać więcej informacji, zobacz Reguły stylu kodu.
Zapewnianie wskazówek dotyczących pakietów bibliotek
Istnieje wiele bibliotek dostępnych dla deweloperów platformy .NET w programie NuGet. Niektóre z nich pochodzą z firmy Microsoft, niektóre z firm innych firm, a inne od członków społeczności i wolontariuszy. Te biblioteki zyskują większą popularność i lepsze opinie, gdy deweloperzy odniosą sukces w pracy z tymi bibliotekami.
Oprócz udostępniania dokumentacji można udostępniać analizatory i poprawki kodu, które umożliwiają znajdowanie i poprawianie typowych błędów użycia biblioteki. Te natychmiastowe poprawki pomogą deweloperom szybciej odnieść sukces.
Możesz dołączyć analizatory i poprawki kodu do swojej biblioteki na NuGet. W tym scenariuszu każdy deweloper, który instaluje pakiet NuGet, zainstaluje również pakiet analizatora. Wszyscy deweloperzy korzystający z biblioteki natychmiast otrzymają wskazówki od zespołu w postaci natychmiastowej opinii na temat błędów i sugerowanych poprawek.
Zapewnianie ogólnych wskazówek
Społeczność deweloperów platformy .NET odkryła dzięki doświadczeniu wzorce, które dobrze się sprawdzają, oraz wzorce, których należy unikać. Kilku członków społeczności stworzyło analizatory, które wymuszają te zalecane wzorce. Jak dowiemy się więcej, zawsze jest miejsce na nowe pomysły.
Te analizatory można przesłać do witryny Visual Studio Marketplace i pobrać przez programistów za pomocą programu Visual Studio. Nowi użytkownicy języka i platformy szybko uczą się akceptowanych praktyk i stają się produktywni wcześniej na swojej ścieżce .NET. W miarę jak stają się one szerzej używane, społeczność przyjmuje te praktyki.
Generatory źródeł
Generatory źródłowe mają na celu umożliwienie metaprogramowania w czasie kompilacji, czyli tworzenia kodu, który może zostać utworzony podczas kompilacji i dodany do procesu kompilacji. Generatory źródłowe mogą odczytywać zawartość kompilacji przed uruchomieniem, a także uzyskiwać dostęp do dodatkowych plików. Ta możliwość umożliwia im introspekcja zarówno kodu C# użytkownika, jak i plików specyficznych dla generatora. Możesz dowiedzieć się, jak tworzyć przyrostowe generatory kodu, korzystając z praktycznego przewodnika po generatorach kodu źródłowego.
Dalsze kroki
Zestaw SDK platformy kompilatora .NET zawiera najnowsze modele obiektów języka na potrzeby generowania, analizy i refaktoryzacji kodu. Ta sekcja zawiera koncepcyjne omówienie zestawu .NET Compiler Platform SDK. Więcej szczegółów można znaleźć w sekcjach szybki start, przykładów i samouczków.
Więcej informacji na temat pojęć w zestawie .NET Compiler Platform SDK można znaleźć w następujących pięciu tematach:
- Eksplorowanie kodu za pomocą wizualizatora składni
- Omówienie modelu interfejsu API kompilatora
- Praca ze składnią
- Praca z semantykami
- Praca z środowiskiem pracy
Aby rozpocząć, musisz zainstalować zestaw SDK platformy kompilatora .NET:
Instrukcje dotyczące instalacji — Instalator programu Visual Studio
Istnieją dwa różne sposoby znajdowania zestawu SDK platformy kompilatora .NET w Instalatorze programu Visual Studio:
Instalowanie przy użyciu widoku Instalator programu Visual Studio — obciążenia
Zestaw SDK platformy kompilatora .NET nie jest automatycznie wybierany w ramach obciążenia programistycznego rozszerzenia programu Visual Studio. Musisz wybrać go jako składnik opcjonalny.
- Uruchamianie Instalatora programu Visual Studio
- Wybierz pozycję Modyfikuj
- Sprawdź obciążenie programistyczne rozszerzenia programu Visual Studio .
- Otwórz węzeł rozwoju rozszerzeń Visual Studio w drzewie podsumowania.
- Zaznacz pole wyboru dla zestawu SDK platformy kompilatora .NET. Znajdziesz go jako ostatni w składnikach opcjonalnych.
Opcjonalnie chcesz również, aby edytor DGML wyświetlał wykresy w wizualizatorze:
- Otwórz węzeł Poszczególne składniki w drzewie podsumowania.
- Zaznacz pole wyboru edytora DGML
Zainstaluj za pomocą Instalatora programu Visual Studio – zakładka poszczególne składniki
- Uruchamianie Instalatora programu Visual Studio
- Wybierz pozycję Modyfikuj
- Wybierz kartę Poszczególne składniki
- Zaznacz pole wyboru dla zestawu SDK platformy kompilatora .NET. Znajdziesz ją u góry w sekcji Kompilatory, narzędzia kompilacji i środowiska uruchomieniowe .
Opcjonalnie chcesz również, aby edytor DGML wyświetlał wykresy w wizualizatorze:
- Zaznacz pole wyboru edytora DGML. Znajdziesz go w sekcji Narzędzia kodu .