visual tutorial studio analyzers .net stylecop

.net - tutorial - Deshabilitar StyleCop para líneas específicas



stylecop visual studio 2017 (5)

Decora tu clase o método con el siguiente atributo StyleCop:

[GeneratedCode("Tool Goes Here", "Message Goes Here")]

Estamos usando StyleCop en nuestros proyectos de C #. Sin embargo, en algunos casos nos gustaría evitar las reglas. Sé que puede agregar // <auto-generated /> al principio del archivo para hacer que StyleCop lo ignore. Sin embargo, no quiero ignorar las reglas para todo el archivo, solo un bloque de código dentro de él.

¿Puedo desactivar StyleCop para líneas específicas de alguna manera?


Este guy parece tener un buen truco general ignorar; sugiere poner esto en la parte superior del archivo - probado y trabajando con R #

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

Útil para cuando está produciendo una carga de texto repetitivo para adherirse a una interfaz principalmente sin implementar, por ejemplo.


Puede colocar la pieza de código entre un código generado de nombre de región y se omitirá.


Puede suprimir reglas agregando atributos a bloques de código. Aquí hay un ejemplo simple de una clase de la publicación de blog vinculada a continuación, pero puede hacerlo en varios miembros de forma individual:

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

Hay una descripción general rápida en una publicación de blog de MSDN y una descripción más completa de los atributos en MSDN.


Una vieja pregunta que sé pero al buscar una respuesta encontré que en stylecop 4.4 ahora puedes poner algo como esto, o una de estas líneas en un método:

[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")] [SuppressMessage("Microsoft.StyleCop.CSharp.ReadabilityRules‌​", "*", Justification = "Risky to change manually")] [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "*", Justification = "Risky to change manually")]

  • Nota: me puede estar faltando una o dos de las categorías de reglas