38 votes

Désactiver StyleCop pour des lignes spécifiques

Nous utilisons StyleCop dans nos projets C#. Dans certains cas, nous aimerions éviter les règles. Je sais que vous pouvez ajouter // <auto-generated /> dans le début du fichier pour le rendre StyleCop l'ignorer. Cependant, je ne veux pas ignorer les règles pour l'ensemble du fichier à seulement un bloc de code à l'intérieur.

Puis-je désactiver StyleCop pour des lignes spécifiques en quelque sorte?

37voto

FinnNk Points 2596

Vous pouvez supprimer les règles en ajoutant des attributs de blocs de code. Voici un simple exemple sur une classe à partir de l'article du blog en lien ci-dessous, mais vous pouvez le faire sur les différents membres individuellement:

[SuppressMessage("Microsoft.StyleCop.CSharp.DocumentationRules", "SA1600:ElementsMustBeDocumented")]
public class MyUndocumentedClass
{
    public void MyUndocumentedMethod {}
}

Il y a une vue d'ensemble rapide à MSDN blog et une description plus complète des attributs sur MSDN.

13voto

Adam Butler Points 1262

Une vieille question je sais, mais dans la recherche d'une réponse, je l'ai trouvé dans stylecop 4.4 vous pouvez maintenant mettre quelque chose comme cela - ou de l'une de ces lignes sur une méthode:

[SuppressMessage("Microsoft.StyleCop.CSharp.DocumentationRules", "*", Justification = "Risky to change manually")]
[SuppressMessage("Microsoft.StyleCop.CSharp.SpacingRules", "*", Justification = "Risky to change manually")]
[SuppressMessage("Microsoft.StyleCop.CSharp.MaintainabilityRules", "*", Justification = "Risky to change manually")]
[SuppressMessage("Microsoft.StyleCop.CSharp.LayoutRules", "*", Justification = "Risky to change manually")]
[SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "*", Justification = "Risky to change manually")]
  • Note: j'ai peut-être raté une ou deux catégories de règles

6voto

The Mouth of a Cow Points 4058

Ce gars semble avoir un bon niveau général de l'ignorer hack; il suggère de mettre le présent en haut de la fiche - testé et de travail avec R#

//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// </auto-generated>
//------------------------------------------------------------------------------

Pratique lorsque vous êtes juste barattage une charge de passe-partout respecter surtout pas implémenté l'interface, par exemple.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X