Vue d’ensemble de l’analyse du code source

S’applique à :yes Visual Studio noVisual Studio pour Mac noVisual Studio Code

Les analyseurs de la plateforme du compilateur .NET (Roslyn) inspectent votre code C# ou Visual Basic pour détecter le style, la qualité, la maintenance, la conception et d’autres problèmes. Cette inspection ou cette analyse se produit pendant le temps de conception dans tous les fichiers ouverts.

Les analyseurs sont divisés en groupes suivants :

Niveaux de gravité des analyseurs

Chaque analyseur a l’un des niveaux de gravité suivants :

Gravité (Explorateur de solutions) Gravité (fichier EditorConfig) Comportement lors de la création Comportement de l’éditeur
Erreur error Les violations apparaissent sous forme d’erreurs dans la liste d’erreurs et dans la sortie de build de ligne de commande, et provoquent l’échec des builds. Le code incriminé est souligné avec un équiggle rouge et marqué par une petite boîte rouge dans la barre de défilement.
Avertissement warning Les violations apparaissent en tant qu’avertissements dans la liste d’erreurs et dans la sortie de build de ligne de commande, mais ne provoquent pas l’échec des builds. Le code incriminé est souligné avec un équiggle vert et marqué par une petite zone verte dans la barre de défilement.
Informations suggestion Les violations apparaissent sous forme de messages dans la liste d’erreurs, et pas du tout dans la sortie de build de ligne de commande. Le code incriminé est souligné avec un quiggle gris et marqué par une petite zone grise dans la barre de défilement.
Hidden silent Non visible par l’utilisateur. Non visible par l’utilisateur. Toutefois, le diagnostic est signalé au moteur de diagnostic IDE.
None none Entièrement supprimé. Entièrement supprimé.
Default default Correspond à la gravité par défaut de la règle. Pour déterminer la valeur par défaut d’une règle, examinez la fenêtre Propriétés. Correspond à la gravité par défaut de la règle.

Si des violations de règle sont détectées par un analyseur, elles sont signalées dans l’éditeur de code sous le code incriminé et dans la fenêtre Liste d’erreurs.

Analyzer violation in Error List window

Les violations de l’analyseur signalées dans la liste d’erreurs correspondent au paramètre de niveau de gravité de la règle. Les violations de l’analyseur s’affichent également dans l’éditeur de code comme des écueilles sous le code incriminé. L’image suivante montre trois violations : une erreur (ongle rouge), un avertissement (ondulé vert) et une suggestion (trois points gris) :

Squiggles in the code editor in Visual Studio

De nombreuses règles d’analyseur, ou diagnostics, ont un ou plusieurs correctifs de code associés 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 ces correctifs de code, consultez Actions rapides courantes.

Analyzer violation and Quick Action code fix

Configurer les niveaux de gravité de l’analyseur

Vous pouvez configurer la gravité des règles d’analyseur ou des diagnostics 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 à la durée de vie à mesure que vous tapez. Vous pouvez configurer l’étendue de l’analyse du code en direct à exécuter uniquement pour le document actif, tous les documents ouverts ou la solution entière. Découvrez comment : configurer l’étendue de l’analyse du code en direct.

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.

Comparaison du package NuGet et de l’extension VSIX

Vous pouvez installer des analyseurs externes pour chaque projet via un package NuGet. Certains sont également disponibles en tant qu’extension Visual Studio, auquel cas ils s’appliquent à toute solution que vous ouvrez dans Visual Studio. Il existe certaines différences de comportement fondamentales entre ces deux méthodes d’installation d’analyseurs.

Étendue

Si vous installez des analyseurs en tant qu’extension Visual Studio, ils s’appliquent au niveau de la solution et à toutes les instances de Visual Studio. Si vous installez les analyseurs comme un package NuGet, qui est la méthode recommandée, ils s’appliquent uniquement au projet dans lequel le package NuGet a été installé. Dans les environnements d’équipe, les analyseurs installés comme des packages NuGet se trouvent dans la portée de tous les développeurs qui travaillent sur ce projet.

Notes

Les analyseurs internes sont également fournis à l’intérieur du Kit de développement logiciel (SDK) .NET. Il est recommandé d’activer ces analyseurs à partir du Kit de développement logiciel (SDK) .NET au lieu d’installer le Microsoft.CodeAnalysis.NetAnalyzerspackage NuGet, si possible. L’activation des analyseurs à partir du Kit de développement logiciel (SDK) .NET garantit que vous obtenez automatiquement les correctifs de bogues de l’analyseur et les nouveaux analyseurs dès que vous mettez à jour le Kit de développement logiciel (SDK). Pour plus d’informations, consultez Activer ou installer des analyseurs .NET internes .

Erreurs de build

Pour appliquer les règles au moment de la génération, notamment via la ligne de commande ou dans le cadre d’une build d’intégration continue (CI), choisissez l’une des options suivantes :

  • Créez un projet .NET 5.0 ou ultérieur qui inclut les analyseurs par défaut dans le Kit de développement logiciel (SDK) .NET. L’analyse du code est activée par défaut pour les projets ciblant .NET 5.0 ou ultérieur. Vous pouvez activer l’analyse du code sur les projets qui ciblent les versions antérieures de .NET en définissant la propriété EnableNETAnalyzers sur true.

  • Installez des analyseurs en tant que package NuGet. Les erreurs et avertissements d’analyseur ne s’affichent pas dans le rapport de build si vous installez les analyseurs comme une extension.

L’image suivante montre la sortie de build de ligne de commande de la génération d’un projet qui contient une violation de règle d’analyseur :

MSBuild output with rule violation

Gravité des règles

Vous ne pouvez pas configurer la gravité des règles à partir d’analyseurs installés en tant qu’extension Visual Studio. Pour configurer la gravité des règles, installez les analyseurs comme un package NuGet.

Étapes suivantes

Voir aussi