Domanda

Stiamo utilizzando StyleCop nei nostri progetti C #. In alcuni casi, vorremmo evitare le regole però. So che è possibile aggiungere // <auto-generated /> all'inizio del file per rendere StyleCop ignorarlo. Tuttavia, non voglio ignorare le regole per l'intero file - solo un blocco di codice all'interno di esso.

È possibile disattivare StyleCop per le linee specifiche in qualche modo?

È stato utile?

Soluzione

È possibile sopprimere le regole con l'aggiunta di attributi ai blocchi di codice. Ecco un semplice esempio su una classe del post sul blog collegato al di sotto, ma è possibile farlo su vari membri individualmente:

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

C'è un rapida panoramica ad un MSDN post sul blog e un descrizione più completa delle caratteristiche su MSDN.

Altri suggerimenti

Una vecchia questione lo so, ma in cerca di una risposta che ha rilevato che in StyleCop 4.4 è ora possibile mettere qualcosa di simile - o una di queste linee su un metodo:

[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: potrei mancare una o due delle categorie di regole

ragazzo sembra hanno un buon generale ignorare mod; Egli suggerisce di mettere questo nella parte superiore del file - provato e funzionando con R #

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

Utile per quando si è solo a sfornare un carico di boilerplate di aderire a un'interfaccia prevalentemente implementato, per esempio.

Si può mettere il pezzo di codice tra un nome di regione codice generato e sarà ommited.

Decora il tuo classe o un metodo con il seguente StyleCop attributo:

[GeneratedCode("Tool Goes Here", "Message Goes Here")]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top