Visual Studio 2015 - Was bedeutet die Referenz „Analysatoren“?


74

Wenn Sie eine einfache C # -Konsolen-App in Visual Studio 2015 Preview erstellen, erhalten Sie eine Pseudoreferenz mit dem Namen "Analyzers":


Erweitertes Projekt "Referenzen" des Projektmappen-Explorers mit dem Eintrag "Analysatoren"

Was bedeutet die oben genannte Referenz "Analysatoren"?

Die Projektdatei enthält nichts und das Eigenschaftenfenster zeigt nichts (völlig leer) über diesen Eintrag an (obwohl im Gegensatz zu "Referenzeigenschaften" im Header "Ordnereigenschaften" steht, aber das sagt nicht viel aus).

Ich würde erwarten, dass dies mit Roslyn zusammenhängt, aber ich habe keine Ahnung. Ich habe ReSharper installiert, aber ich gehe nicht davon aus, dass es etwas damit zu tun hat.

Bearbeiten 6.8.2016

Die akzeptierte Antwort erklärt die von Analysatoren bereitgestellten Werkzeuge, lässt jedoch offen, warum ein Entwicklungswerkzeug zu einer (Laufzeit-?) Referenz wird. Tatsächlich ist es im Gegensatz zu den anderen Referenzen keine Laufzeitreferenz. Die Antwort auf dieses Wunder ist also der Kommentar von Hans Passants unten:

Sie suchten sich einen ungeschickten Ort aus, um die Funktion für Codeanalysatoren hinzuzufügen. Sie konnten einfach keinen besseren Ort finden, ohne den Lösungs-Explorer und das Nuget drastisch zu überarbeiten. - Hans Passant 26. Mai 15 um 8:59 Uhr


2
FWIW, ich nicht habe ReSharper installiert [noch] in meiner VS2015 Vorschau VM, und ich auch die „Analyzers“ Referenz.
Chris W. Rea

Was wird im Eigenschaftenbereich angezeigt, wenn Analysatoren ausgewählt sind?
DLeh


Dies wird Ihnen wahrscheinlich auch mehr darüber erzählen: channel9.msdn.com/Events/Visual-Studio/Connect-event-2014/714
DLeh

3
Sie suchten sich einen ungeschickten Ort aus, um die Funktion für Codeanalysatoren hinzuzufügen. Sie konnten einfach keinen besseren Ort finden, ohne den Lösungs-Explorer und das Nuget drastisch zu überarbeiten.
Hans Passant

Antworten:


60

Live Code Analyzer werden verwendet, um benutzerdefinierte Fehlermeldungen und Warnungen hinzuzufügen, die während der Eingabe live angezeigt werden, sowie automatische Codekorrekturen, mit denen Sie sie bereinigen können. Sie sind als NuGet-Pakete verfügbar, die Sie Ihren Projekten in Visual Studio 2015 hinzufügen.

Es ist eine der besten und hilfreichsten neuen Schlüsselfunktionen von Visual Studio 2015, mit der ein NuGet-Paket benutzerdefinierte Warnungen und Fehler im Editor während der Eingabe des Codes aktivieren kann. Automatische Codekorrekturen können diese Probleme für uns beheben.

Pakete können sogar als „Code-fähige Bibliothek“ gebündelt werden, die sowohl eine API als auch die domänenspezifischen Analysatoren einbezieht, um sicherzustellen, dass Sie bei der Verwendung auf Kurs bleiben.

Ab dem Moment, in dem wir das NuGet-Paket herunterladen, erhalten wir eine gezielte Anleitung. Und weil diese Analysegeräte Teil unseres Projekts sind, sieht jeder in Ihrem Team die gleichen Warnungen.

Bearbeiten 1:

An Analysatoren sind folgende Regeln angehängt:

Geben Sie hier die Bildbeschreibung ein

Diese Regeln konzentrieren sich auf die kritischsten Probleme in Ihrem Code, einschließlich potenzieller Sicherheitslücken, Anwendungsabstürze und anderer wichtiger Logik- und Designfehler . Sie sollten diesen Regelsatz in jeden benutzerdefinierten Regelsatz aufnehmen, den Sie für Ihre Projekte erstellen.


3
Ich freue mich über Ihre Beiträge, aber die Frage ist noch offen: Warum die Referenz (Montage?). Wir haben seit 10 Jahren eine Code-Analyse und es gab nie eine Referenz. Lesen Sie auch meine Frage oben: Warum eine Referenz, auch wenn ich kein Nuget-Paket heruntergeladen habe?
Citykid

@citykid ..Wenn Sie vorsichtig bemerken, während Sie mit der rechten Maustaste auf den Analysator klicken, können Sie die NuGet-Pakete verwalten sehen, aber obwohl wir keine NuGet-Pakete installiert haben, warum erscheint das? .. danke
Tharif

2
Es wird klarer, sodass der Knoten "Analysatoren" ein Ordner für Analysatoren ist. Ich sehe nichts mit NuGet, die Einträge im Kontextmenü sind "Add Analyzer" und "Open Active Ruleset". Nach dem Hinzufügen von Analysatoren kann ich Baugruppen durchsuchen.
Citykid

18

Derzeit sind eine Reihe guter Analysatoren verfügbar - Microsoft.AnalyzerPowerPack, Code Cracker, CSharp Essentials, SonarLint usw.

Jeder dieser Analysatoren verfügt über einen eigenen Regelsatz, sodass wir anhand unserer Anforderungen entscheiden können, welcher Analysator hinzugefügt werden soll. Nach der Installation über Nuget übernehmen die Glühbirnen und schnellen Aktionen in VS2015 den zugehörigen Regelsatz und bieten den Entwicklern im laufenden Betrieb Codierungsunterstützung.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.