Partager via


Analyse du code à l’aide d’analyseurs de plateforme de compilateur .NET (Roslyn)

Les analyseurs de la plateforme du compilateur .NET (Roslyn) inspectent votre code C# ou Visual Basic pour connaître 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 règle d’analyseur Roslyn, ou diagnostic, a un état de gravité et de suppression par défaut que vous pouvez personnaliser pour votre projet.

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

Violations de règles

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 de l’analyseur 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 de règle d’analyseur s’affichent également dans l’éditeur de code en tant que lignes ondulées sous le code en cause. Par exemple, la capture d’écran suivante montre trois violations : une erreur (ligne ondulée rouge), un avertissement (ligne ondulée 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 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 le menu d’icône d’ampoule, ainsi que 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 d’analyseur dans un fichier EditorConfig ou à partir du menu ampoule.

Vous pouvez également configurer des analyseurs pour inspecter le code au moment de la génération et à mesure que vous tapez. Vous pouvez configurer l’étendue de l’analyse du code en direct pour s’exécuter uniquement pour le document actif, tous les documents ouverts ou toute la solution. Pour plus d’informations, consultez Configurer l’analyse du code en direct pour .NET.

Conseil / Astuce

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

Installer des analyseurs de code externe

Visual Studio inclut un ensemble principal d’analyseurs Roslyn, qui sont toujours actifs. Si vous avez besoin d’autres analyseurs de code, vous pouvez installer des analyseurs externes pour chaque projet via un package NuGet. Certains analyseurs 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 recommandée s’applique uniquement au projet où le package NuGet est installé. Sinon, si vous installez un analyseur en tant qu’extension 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 internes sont fournis dans 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.NetAnalyzerspackage NuGet. L’activation des analyseurs à partir du Kit de développement logiciel (SDK) .NET garantit que vous obtenez automatiquement des correctifs de bogues d’analyseur et de 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 compilation

Pour appliquer les règles au moment de la compilation, par l'utilisation de ligne de commande ou de builds d’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 du code par défaut. Pour activer l’analyse du code sur les projets qui ciblent les versions antérieures de .NET, définissez la propriété true sur .

  • Installez les analyseurs en tant que package NuGet. Si vous installez les analyseurs en tant qu’extension Visual Studio, les avertissements et erreurs de l’analyseur n’apparaissent pas dans le rapport de build.

La capture d’écran suivante montre la sortie de build en ligne de commande d’un projet qui contient une violation d'une règle d'analyse :

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

Gravité des règles

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

Étapes suivantes