Analyse de code à l'aide des analyseurs .NET compiler platform (Roslyn)

Les analyseurs .NET compiler platform (Roslyn) inspectent le style, la qualité, la facilité de gestion, la conception et d'autres problèmes de votre code C# ou Visual Basic. Cette inspection ou analyse se produit au moment du design dans tous les fichiers ouverts.

Les analyseurs sont répartis dans les groupes suivants :

Niveaux de gravité des analyseurs

Chaque règle d'analyseur Roslyn, ou diagnostic, a une gravité et un état de suppression par défaut que vous pouvez personnaliser pour votre projet.

Les niveaux de gravité sont : Erreur, Avertissement, Suggestion, Silencieux, None et Default. Pour plus d'informations et de comportement, consultez Configurer les niveaux de gravité.

Violations de règle

Si un analyseur détecte des violations de règle d'analyseur, il les signale dans la fenêtre Liste d'erreurs et dans l'éditeur de code.

La capture d'écran suivante montre les violations de règle signalées dans la fenêtre Liste d'erreurs. Les violations détectées par l'analyseur, et qui sont signalées dans la liste d'erreurs, correspondent au paramètre de niveau de gravité de la règle :

Capture d'écran montrant les violations de l'analyseur dans la fenêtre Liste d'erreurs.

Les violations des règles de l'analyseur apparaissent également dans l'éditeur de code sous la forme de lignes gribouillées sous le code incriminé. Par exemple, la capture d'écran suivante montre trois violations : une erreur (ligne rouge), un avertissement (ligne verte) et une suggestion (trois points gris) :

Capture d'écran montrant les marques d'erreur, d'avertissement et de suggestion dans l'éditeur de code.

Correctifs de code

De nombreux diagnostics sont associées à un ou plusieurs correctifs de code que vous pouvez appliquer pour corriger la violation de règle. Les correctifs de code sont affichés dans l’icône du menu Ampoule, avec d’autres types d’Actions rapides. Pour plus d'informations sur les correctifs de code, consultez Actions rapides courantes.

Capture d'écran montrant une violation d'analyseur et un correctif de code Action rapide dans l'éditeur de code.

Configurer les niveaux de gravité de l’analyseur

Vous pouvez configurer la gravité des règles de l'analyseur dans un fichier EditorConfig ou à partir du menu Ampoule.

Les analyseurs peuvent également être configurés pour inspecter le code au moment de la génération et en cours de frappe. Vous pouvez configurer l’étendue de l’analyse du code en direct pour qu’elle s’exécute uniquement sur le document actif, sur tous les documents ouverts ou sur l’ensemble de la solution. Pour plus d'informations, consultez Configurer l'analyse de code en direct pour .NET.

Conseil

Les erreurs et les avertissements au moment de la génération provenant des analyseurs de code sont affichés uniquement si les analyseurs sont installés comme un package NuGet. Les analyseurs intégrés (par exemple, IDE0067 et IDE0068) ne s’exécutent jamais pendant la génération.

Installer des analyseurs de code externe

Visual Studio inclut un ensemble principal d'analyseurs Roslyn, qui sont toujours actifs. Si vous avez besoin de plus d'analyseurs de code, vous pouvez installer des analyseurs externes pour chaque projet via un package NuGet. Certains sont également disponibles en tant qu'extension Visual Studio .vsix, auquel cas ils s'appliquent à n'importe quelle solution que vous ouvrez dans Visual Studio. Pour plus d'informations sur l'installation de ces deux types d'analyseurs différents, consultez Installer des analyseurs de code.

Étendue

Si vous installez un analyseur en tant que package NuGet, la méthode préférée, il ne s'applique qu'au projet où le package NuGet est installé. Dans le cas contraire, si vous installez un analyseur en tant qu'extension de Visual Studio, il s'applique au niveau de la solution et à toutes les instances de Visual Studio. Dans les environnements d'équipe, un analyseur que vous installez en tant que package NuGet est accessible à tous les développeurs qui travaillent sur ce projet.

Remarque

Les analyseurs d'origine sont livrés avec le Kit de développement logiciel (SDK) .NET. Il est préférable d’activer ces analyseurs à partir du Kit de développement logiciel (SDK) .NET au lieu de les installer en tant que Microsoft.CodeAnalysis.NetAnalyzers package NuGet. En activant les analyseurs à partir du Kit SDK .NET, vous avez la certitude d'obtenir automatiquement les correctifs de bogue des analyseurs et les nouveaux analyseurs dès que vous mettez à jour le Kit de développement logiciel (SDK). Pour plus d'informations sur les analyseurs, consultez Activer ou installer des analyseurs .NET internes.

Erreurs de build

Pour appliquer les règles au moment de la compilation, à l'aide d'une ligne de commande ou d'une intégration continue (CI), choisissez l'une des options suivantes :

  • Créez un projet .NET 5.0 ou version ultérieure, qui active l'analyse de code par défaut. Pour activer l'analyse de code sur des projets qui ciblent des versions .NET antérieures, définissez la propriété EnableNETAnalyzers sur true.

  • Installez des analyseurs en tant que package NuGet. Si vous installez les analyseurs en tant qu'extension de Visual Studio, les avertissements et les erreurs des analyseurs n'apparaissent pas dans le rapport de génération.

La capture d’écran suivante montre la sortie de la génération en ligne de commande à partir de la génération d’un projet qui contient une violation de règle d’analyseur :

Capture d'écran montrant une sortie MSBuild avec une violation de règle dans une invite de commandes développeur.

Gravité des règles

Si vous souhaitez configurer la gravité de règle de l'analyseur, vous devez installer l'analyseur en tant que package NuGet. Vous ne pouvez pas configurer la gravité des règles à partir des analyseurs qui ont été installés comme une extension Visual Studio.

Étapes suivantes