.NET Compiler Platform-SDK

Compiler erstellen bei der Validierung der Syntax und Semantik eines Anwendungscodes ein detailliertes Modell davon. Basierend auf diesem Modell wird die ausführbare Ausgabe aus dem Quellcode erstellt. Zugriff auf dieses Modell wird durch das .NET Compiler Platform-SDK ermöglicht. Um die Produktivität zu steigern, greifen wir vermehrt auf Funktionen der integrierten Entwicklungsumgebung (IDE) zurück, wie IntelliSense, Refactoring, intelligentes Umbenennen, „Alle Verweise suchen“ und „Gehe zu Definition“. Zur Verbesserung unserer Codequalität nehmen wir Codeanalysetools und zur Unterstützung der Anwendungsentwicklung Codegeneratoren zu Hilfe. Je intelligenter diese Tools werden, desto umfangreicher wird auch der erforderliche Zugriff auf das Modell, das nur von Compilern bei der Verarbeitung des Anwendungscodes erstellt wird. Genau darin besteht das Hauptziel der Roslyn-APIs: Das Geheimnis um die Blackboxes zu lüften und Tools wie auch Endbenutzern die Nutzung der umfassenden Informationen zu ermöglichen, die bezüglich unseres Codes in den Compilern enthalten sind. Anstatt eine nicht transparente Übersetzung von Quellcode in Objektcode bereitzustellen, werden Compiler durch Roslyn zu Plattformen: APIs, die Sie für codebezogene Aufgaben in Ihren Tools und Anwendungen einsetzen können.

.NET Compiler Platform-SDK – Begriffe

Das .NET Compiler Platform-SDK vereinfacht die Erstellung von codeabhängigen Tools und Anwendungen um ein Vielfaches. Dieses schafft viele Möglichkeiten für Innovationen in Bereichen wie Metaprogrammierung, Codegenerierung und -transformation, die interaktive Verwendung der Programmiersprachen C# und Visual Basic und die Einbettung von C# und Visual Basic in domänenspezifische Sprachen.

Mit dem .NET Compiler Platform SDK können Sie Analyse- und Codekorrekturen erstellen, die Fehler beim Codieren finden und korrigieren. Analyzer verstehen die Syntax (Struktur des Codes) und die Semantik, um Methoden zu erkennen, die korrigiert werden sollten. Codekorrekturen bieten eine oder mehrere vorgeschlagene Korrekturen für die Behandlung von Codierungsfehlern, die von Analyzern oder Compilerdiagnosen gefunden wurden. In der Regel werden ein Analysetool und die zugehörigen Codefehlerbehebungen in ein einzelnes Projekt gepackt.

Analysetools und Codefehlerbehebungen verwenden zur Codeanalyse statische Analysen. Sie führen den Code nicht aus oder bieten andere Vorteile in Bezug auf Tests. Sie können jedoch auf Verfahren hinweisen, die häufig zu Fehlern, zu Problemen bei der Codeverwaltung oder zu Verstößen gegen Standardrichtlinien führen.

Zusätzlich zu Analyse- und Codekorrekturen ermöglicht das .NET Compiler Platform SDK auch das Erstellen von Codeumgestaltungen. Es stellt eine einzelne Gruppe von APIs zur Verfügung, mit denen Sie eine C#- oder Visual Basic-Codebasis untersuchen und analysieren können. Die Verwendung einer einzelnen Codebasis ermöglicht ein einfacheres Schreiben von Analysetools und Codefehlerbehebungen, indem die Syntax- und Semantikanalyse-APIs des .NET Compiler Platform-SDK genutzt werden. Durch den Wegfall der umfangreichen Aufgabe, die vom Compiler durchgeführte Analyse zu replizieren, können Sie sich auf die spezifischere Aufgabe konzentrieren, häufige Codierungsfehler für Ihr Projekt oder Ihre Bibliothek zu finden und zu beheben.

Ein weiterer nachrangiger Vorteil: Beim Laden in Visual Studio sind Ihre Analysetools und Codefehlerbehebungen kleiner und belegen deutlich weniger Speicher, als wenn Sie eine eigene Codebasis für die Analyse des Codes in einem Projekt schreiben würden. Da dieselben Klassen verwendet werden, die beim Compiler und in Visual Studio zum Einsatz kommen, können Sie eigene statische Analysetools erstellen. Dies bedeutet, dass Ihr Team Analysetools und Codefehlerbehebungen ohne spürbare Auswirkungen auf die Leistung von IDE verwenden kann.

Für das Schreiben von Analysetools und Codefehlerbehebungen gibt es drei Hauptszenarien:

  1. Erzwingen von Codierungsstandards im Team
  2. Bereitstellen von Leitfäden mit Bibliothekspaketen
  3. Bereitstellen allgemeiner Leitfäden

Erzwingen von Codierungsstandards im Team

Viele Teams verfügen über Codierungsstandards, die durch Code Reviews bei anderen Teammitgliedern erzwungen werden. Die Effizienz dieses Prozesses kann durch Analysetools und Codefehlerbehebungen um ein Vielfaches erhöht werden. Code Reviews erfolgen, wenn ein Entwickler seine Arbeit mit anderen Mitgliedern des Teams teilt. In der Regel hat er viel Zeit in die Fertigstellung eines neuen Features investiert, bevor er Kommentare erhält. Dabei können Wochen vergehen, in denen er Gewohnheiten stärkt, die nicht den Praktiken des Teams entsprechen.

Während ein Entwickler Codes schreibt, werden Analysetools ausgeführt. Er erhält ein unmittelbares Feedback, das ihn direkt dazu animiert, dem Leitfaden zu folgen. Sobald er mit der Prototyperstellung beginnt, schafft er so Gewohnheiten zum Schreiben von konformen Codes. Wenn ein Review für das Feature durchgeführt werden kann, wurden sämtliche Standardrichtlinien erzwungen.

Teams können Analysetools und Codefehlerbehebungen erstellen, die nach den am häufigsten verwendeten Praktiken suchen, die gegen die Codierungspraktiken des Teams verstoßen. Diese können zur Erzwingung von Standards auf jedem Entwicklungscomputer installiert werden.

Tipp

Bevor Sie Ihr eigenes Analysetool erstellen, prüfen Sie die integrierten Tools. Weitere Informationen finden Sie unter Codeformatregeln.

Bereitstellen von Leitfäden mit Bibliothekspaketen

NuGet bietet .NET-Entwicklern eine Vielzahl von Bibliotheken. Diese stammen von Microsoft, Drittanbietern sowie von Communitymitgliedern und Freiwilligen. Diese Bibliotheken erhalten mehr Akzeptanz und höhere Bewertungen, wenn Entwickler mit diesen Bibliotheken erfolgreich sein können.

Neben der Dokumentation können Sie Analysetools und Codefehlerbehebungen bereitstellen, die häufige Verstöße gegen Ihre Bibliothek aufspüren und korrigieren. Diese unmittelbaren Korrekturen verhelfen Entwickler schneller zum Erfolg.

Sie können Analysetools und Codefehlerbehebungen mit Ihrer Bibliothek in NuGet packen. In diesem Szenario installiert jeder Entwickler, der Ihr NuGet-Paket installiert, auch das Paket des Analysetools. Alle Entwickler, die Ihre Bibliothek verwenden, erhalten sofort Richtlinien von Ihrem Team in Form eines unmittelbaren Feedbacks zu Fehlern und von Korrekturvorschlägen.

Bereitstellen von allgemeinen Codierungsleitfäden

Die .NET-Entwicklercommunity hat basierend auf ihrem Erfahrungsschatz Muster ermittelt, die gut funktionieren, und solche, die am besten vermieden werden sollten. Mehrere Communitymitglieder haben Analysetools erstellt, die diese empfohlenen Muster erzwingen. Mit fortschreitender Entwicklung haben wir erfahren, dass dem Ideenreichtum keine Grenzen gesetzt sind.

Diese Analysetools können im Visual Studio Marketplace hochgeladen und von Entwicklern über Visual Studio heruntergeladen werden. Benutzer, die mit der Sprache und Plattform noch nicht vertraut sind, lernen schnell akzeptierte Praktiken und erzielen so früher Produktivität, während sie Erfahrungen mit der .NET-Sprache sammeln. Mit der zunehmenden Verbreitung steigt auch die Wahrscheinlichkeit, dass diese Praktiken von der Community übernommen werden.

Nächste Schritte

Das .NET Compiler Platform-SDK enthält die neuesten Sprachobjektmodelle für die Codegenerierung, die Analyse und das Refactoring. Dieser Abschnitt enthält einen konzeptionellen Überblick über das .NET Compiler Platform-SDK. Einzelheiten finden Sie in den Abschnitten „Schnellstarts“, „Beispiele“ und „Tutorials“.

In den folgenden fünf Themenbereichen erfahren Sie mehr über die Konzepte im .NET Compiler Platform-SDK:

Installieren Sie zunächst das SDK für die .NET Compiler Platform:

Installationsanweisungen: Visual Studio-Installer

Es gibt zwei verschiedene Möglichkeiten, das .NET Compiler Platform SDK im Visual Studio-Installer zu finden:

Installation mithilfe des Visual Studio-Installers: Workloads im Überblick

Das .NET Compiler Platform SDK wird nicht automatisch als Teil der Workload „Visual Studio-Extensionentwicklung“ ausgewählt. Sie müssen sie als optionale Komponente auswählen.

  1. Führen Sie den Visual Studio-Installer aus.
  2. Wählen Sie Ändern aus.
  3. Aktivieren Sie die Workload Visual Studio-Extensionentwicklung.
  4. Öffnen Sie den Knoten Visual Studio-Extensionentwicklung in der Zusammenfassungsstruktur.
  5. Aktivieren Sie das Kontrollkästchen für das .NET Compiler Platform SDK. Sie finden es an letzter Stelle unter den optionalen Komponenten.

Optional können Sie einstellen, dass der DGML-Editor Diagramme in der Schnellansicht anzeigt:

  1. Öffnen Sie den Knoten Einzelne Komponenten in der Zusammenfassungsstruktur.
  2. Aktivieren Sie das Kontrollkästchen für den DGML-Editor.

Installation mithilfe des Visual Studio-Installers: Registerkarte „Einzelne Komponenten“

  1. Führen Sie den Visual Studio-Installer aus.
  2. Wählen Sie Ändern aus.
  3. Klicken Sie auf die Registerkarte Einzelne Komponenten.
  4. Aktivieren Sie das Kontrollkästchen für das .NET Compiler Platform SDK. Sie finden es an oberster Stelle im Abschnitt Compiler, Buildtools und Laufzeiten.

Optional können Sie einstellen, dass der DGML-Editor Diagramme in der Schnellansicht anzeigt:

  1. Aktivieren Sie das Kontrollkästchen für den DGML-Editor. Sie finden es im Abschnitt Codetools.