Erstellen oder Aktualisieren von Standardeincheckrichtlinien für die Codeanalyse

Sie können mithilfe einer Eincheckrichtlinie für die Codeanalyse festlegen, dass die Codeanalyse für alle Codeprojekte in einem Azure DevOps-Projekt ausgeführt wird. Das Erfordern einer Codeanalyse kann die Qualität des Codes verbessern, der in die Codebasis eingecheckt wird.

Hinweis

Dieses Feature ist nur verfügbar, wenn Sie Team Foundation Server verwenden.

Eincheckrichtlinien für die Codeanalyse werden in den Projekteinstellungen festgelegt und gelten für jedes Codeprojekt. Codeanalyseausführungen werden für Codeprojekte in der Projektdatei (XXPROJ) für das Codeprojekt konfiguriert. Codeanalysen werden auf dem lokalen Computer ausgeführt. Wenn Sie eine Eincheckrichtlinie für die Codeanalyse aktivieren, müssen Dateien in einem Codeprojekt, die eingecheckt werden sollen, nach der letzten Bearbeitung kompiliert werden, und eine Codeanalyseausführung, die mindestens die Regeln in den Projekteinstellungen enthält, auf dem Computer ausgeführt werden, auf dem die Änderungen vorgenommen wurden.

  • Für verwalteten Code legen Sie die Eincheckrichtlinie fest, indem Sie einen Regelsatz angeben, der eine Teilmenge der Codeanalyseregeln enthält.

  • Für C/C++-Code in Visual Studio 2017 (Version 15.6 und früher) erfordert die Eincheckrichtlinie, dass alle Codeanalyseregeln ausgeführt werden. Sie können Präprozessoranweisungen hinzufügen, um bestimmte Regeln für die einzelnen Codeprojekte in Ihrem Azure DevOps-Projekt zu deaktivieren. In Version 15.7 und höher können Sie /analyze:ruleset verwenden, um anzugeben, welche Regeln ausgeführt werden sollen. Weitere Informationen finden Sie unter Verwenden von Regelsätzen zum Angeben der auszuführenden C++-Regeln.

Nachdem Sie eine Eincheckrichtlinie für verwalteten Code angegeben haben, können Teammitglieder ihre Codeanalyseeinstellungen für Codeprojekte mit den Azure DevOps-Projektrichtlinieneinstellungen synchronisieren.

Öffnen des Eincheckrichtlinien-Editors

  1. Klicken Sie im Team Explorer mit der rechten Maustaste auf den Projektnamen, zeigen Sie auf Projekteinstellungen, und klicken Sie dann auf Quellcodeverwaltung.

  2. Wählen Sie im Dialogfeld Quellcodeverwaltung die Registerkarte Eincheckrichtlinien aus.

  3. Führen Sie eines der folgenden Verfahren aus:

    • Klicken Sie auf Hinzufügen, um eine neue Eincheckrichtlinie zu erstellen.

    • Doppelklicken Sie auf das vorhandene Element Codeanalyse in der Liste Richtlinientyp, um die Richtlinie zu ändern.

Festlegen von Richtlinienoptionen

Aktivieren oder Deaktivieren Sie die folgenden Optionen:

Option BESCHREIBUNG
Check-In von Dateien erzwingen, sodass nur Dateien enthalten sind, die Teil der aktuellen Projektmappe sind: Die Codeanalyse kann nur für Dateien ausgeführt werden, die in Projektmappen- und Projektkonfigurationsdateien angegeben sind. Diese Richtlinie garantiert, dass der gesamte Code, der Teil einer Projektmappe ist, analysiert wird.
C/C++ Code Analysis erzwingen (/analyze): Diese Option erfordert, dass alle C- oder C++-Projekte mit der Compileroption „/analyze“ erstellt werden, um die Codeanalyse auszuführen, bevor sie eingecheckt werden können.
Code Analysis für verwalteten Code erzwingen: Diese Option erfordert, dass alle verwalteten Projekte fertig erstellt sind und eine Codeanalyse ausgeführt wird, bevor sie eingecheckt werden können.

Angeben eines verwalteten Regelsatzes

Verwenden Sie eine der folgenden Methoden aus der Liste Diesen Regelsatz ausführen:

  • Wählen Sie einen Microsoft-Standardregelsatz aus.

  • Wählen Sie einen benutzerdefinierten Regelsatz aus, indem Sie auf <Regelsatz aus Quellcodeverwaltung auswählen> klicken. Geben Sie dann den Versionskontrollpfad des Regelsatzes im Quellcodeverwaltungsbrowser ein. Die Syntax eines Versionskontrollpfads lautet wie folgt:

    $/ TeamProjectName / VersionControlPath

Weitere Informationen zum Erstellen und Implementieren eines benutzerdefinierten Regelsatzes für Eincheckrichtlinien finden Sie unter Implementieren von benutzerdefinierten Eincheckrichtlinien für verwalteten Code.