Comment supprimer un StyleCop avertissement?
Je suis en utilisant StyleCop et souhaitez supprimer un avertissement qui ne convient pas à mon style. Je préfère avoir une solution pour
1) dans la ligne de code de la suppression
2) réglage de la suppression de
J'ai cherché sur internet mais pas encore sûr comment faire le supprimer.
Pour la méthode 1), Ils ont dit de rajouter les lignes:
[assembly: SuppressMessage("Microsoft.La conception",
"SA1202:Toutes les méthodes privées doit être placé après toutes les méthodes publiques",
Scope = "espace de noms" Target = "Consus.Client.ClientVaultModule.Services.OnlineDetection")]
Mais ils ne disent pas où et à qui l'espace de noms à utiliser.
Pour la méthode 2), ils ont dit d'utiliser GlobalSuppress fichier, mais il ne semble pas facile à la recherche pour un de le faire à l'instant.
S'il vous plaît aider.
[Édité]
Dans mon cas, j'ai l'avertissement sur SA1202: Toutes les méthodes privées doit être placé après toutes les méthodes publiques qui tracasse depuis que j'ai mon groupe les codes correspondants en régions. Je veux supprimer ceux avertissement pour quelques-uns de certaines méthodes.
- Idéalement, clic-droit, "supprimer" (ou clic-droit, "réparer"). Mais StyleCop a été écrit par les masochistes, de sorte que vous avez à faire résoudre tous ses problèmes à la main. Si jamais il y avait des travaux destinés à être fait par une machine, c'est ça. Quel gaspillage.
Vous devez vous connecter pour publier un commentaire.
Voici ce que vous devez:
SPxxxx
règles viennent de StyleCop+ et pas original StyleCop, par conséquent, vous ne trouverez pas StyleCop+ documentation sur la StyleCop page. Il semble StyleCop+ suppression des règles ne sont pas documentés, comme ils le sont pour StyleCopStyleCopPlus.StyleCopPlusRules
partie est le nom pleinement qualifié de la StyleCopPlus analyseur de classe qui hérite deStyleCop.SourceAnalyzer
, vous pouvez trouver que le nom de la classe à l'aide de VisualStudio ou MonoDevelop assemblée du navigateur, ou un Réflecteur. C'est dommage que nous n'avons pas de clic droit->ignorer comme nous avons pour FxCop. Note que j'ai eu des problèmes de copier-coller ce commentaire de SO (caché unicode caractères) donc il est recommandé de le copier à la main.Un exemple inline suppression serait semblable à ce - examiner les espaces de noms dans le code par rapport à la répression
Un mondial de la suppression du fichier est un fichier à la racine de votre projet nommé
GlobalSuppressions.cs
et pourrait ressembler à ceci:Et vous pouvez générer ce code automatiquement en cliquant-droit sur l'avertissement.
De départ avec StyleCop 4.3.2, il est possible de supprimer le signalement des violations des règles par l'ajout de la suppression des attributs dans le code source.
Règle Suppressions
http://stylecop.soyuz5.com/Suppressions.html
mais il dit -
Mondiale Suppressions
Si vous avez installé StyleCop, vous pouvez cliquer droit sur votre projet et il y aura un StyleCop option. Cliquez sur cela et vous verrez que vous pouvez éviter certaines règles de même en cours d'exécution à l'encontre de votre projet. En outre, vous pouvez créer un fichier de règles de partage entre les différents projets. Cela signifie que vous pouvez configurer les règles une fois de la façon dont vous le souhaitez et partager cette configuration, entre l'ensemble de vos projets.
Pour l'individu l'emporte,
SuppressMessage
est le chemin à parcourir.Lire l'exhortation de Style Cop, à la recherche pour le code alphanumérique. Dans votre cas, 'SA1202'. Ensuite, accédez à la page correspondante sur le Style de la Cop de site web. Modifier l'URL appropriée https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1202.md
Copie la ligne intitulée "Comment Supprimer les Violations'. Collez l'attribut au-dessus de la classe sur le Style Cop gémissements
Cant vous venez de supprimer la règle au lieu de l'encrassement de votre code?
En va de même pour FxCop...
1.
Dans votre cas, corriger
SuppressMessage
attribut voudrais comme suit:Notez que vous pouvez placer sur n'importe quel autre élément de e.g, sur la classe - toutes les violations similaires dans l'ensemble de la classe sera supprimé).
Je suis aussi d'accord que c'est assez évident ce qu'il faut écrire dans ces domaines.
En fait, le premier devrait être le nom complet de StyleCop analyseur de classe et peut être trouvé à partir du code source (par exemple, de ici).
Le second doit commencer avec code de la règle de, puis le côlon et le nom de la règle énumération (heureusement, elle a toujours l'air comme le nom de la règle affiché dans les Paramètres de l'Éditeur, mais sans les espaces).
2.
Concernant la suppression de règles "globalement" - pourquoi ne pas simplement les désactiver à l'aide des Paramètres de l'Éditeur? Les fichiers de paramètres sont héritées par le système de fichiers, de sorte que vous pouvez facilement avoir une "principale" fichier de paramètres en "haut" de votre structure de dossier, et quelques autres fichiers (la tenue de la "différence" de la main) avec des exceptions pour certains projets, si vous le souhaitez (comme décrit ici).
Bonne chance!
Vous pouvez également déplacer le code dans les régions dans des classes partielles. Le problème avec le stylecop règle va s'en aller.
Vous pouvez désactiver les règles que vous ne voulez pas dans les Paramètres.StyleCop fichier, qui est dans le dossier racine du projet.
Vous aurez besoin de l'espace de noms qui contient la règle, qui peut être trouvé ici:
http://stylecop.soyuz5.com/StyleCop%20Rules.html
Paramètres.stylecop fichier de code de référence:
En plus des réponses utiles déjà en place:
Si vous supprimez un avertissement dans le fichier de suppression
GlobalSuppressions.cs
,vous pouvez modifier ce que
[assembly: SuppressMessage(StyleCop...blabla
ligne et de retirer entièrement lesScope=...
etTarget=...
balises. Que fait la répression mondial dans le projet.La README.md pour la StyleCop.Les analyseurs de NuGet package utilisé par Visual Studio 2015+ contient un lien vers le documentation pour les règles. La documentation pour chaque règle contient une "Façon de réprimer les violations de la section". Pour le SA1202 règle, les options sont les suivantes:
et