StyleCop(C#代码检测工具)
StyleCop(C#代码检测工具)
一、StyleCop是微软的一个开源的静态代码分析工具,检查c#代码一致性和编码风格。
二、下载地址 http://stylecop.codeplex.com/releases/view/79972
默认安装目录:C:\Program Files (x86)\StyleCop 4.7
自己定义的dll规则也放在这个目录下
三、使用方式:打开VS之后选择一个类或者一个类库右击

RunStyleCop运行结果:

四:编写自己的规则:
1、创建一个类库,
新建一个MyCustomAnalyzer.cs文件,引用StyleCop.dll和StyleCop.Csharp.dll
代码如下:


AddViolation方法中的三个参数"AvoidUsingAInClassNames"是自己定义的规则,这个规则就是下文xml中的 Rule Name="AvoidUsingAInClassNames"
2、新建一个和类同名的xml文件
MyCustomAnalyzer.xml内容如下:


设置该xml文件属性:编译方式为嵌入式 (即编译到dll中),Rules中可以放多个Rule但不要忘了改Name和Id
3、保存并编译
将这个项目生成DLL,把MyCustomAnalyzer.dll放到StyleCop根目录下。到此自定义规则就完成了。
4、使用自己的规则:
打开VS之后选择一个类或者一个类库右击,选择 StyleCop Settings设置规则,这里可以看到自己新添的规则。

StyleCop(C#代码检测工具)的更多相关文章
- python 代码检测工具
对于我这种习惯了 Java 这种编译型语言,在使用 Python 这种动态语言的时候,发现错误经常只能在执行的时候发现,总感觉有点不放心. 而且有一些错误由于隐藏的比较深,只有特定逻辑才会触发,往往导 ...
- Jenkins整合SonarQube代码检测工具
借鉴博客:https://blog.csdn.net/kefengwang/article/details/54377055 上面这博客写得挺详细的,挺不错.它这个博客没有提供下载的教程,这个博客提供 ...
- c++代码检测工具
cppcheck是一款静态代码检查工具,可以检查如内存泄漏等代码错误,使用起来比较简单,即提供GUI界面操作,也可以与VS开发工具结合使用. 1.安装 一般会提供免安装版,安装完成后将cppcheck ...
- eslint 代码检测工具
jshint 检测工具不够灵活下,道格拉斯(何许人也?json创造者,javascript重要任务,犀牛那本书就是他写的). 文档地址: 中文地址 English 安装 利用npm全局安装eslint ...
- 恶意代码检测工具 -- Mathematics Malware Detected Tools
Mathematics Malware Detected Tools 重要:由于缺少测试数据,部分结论可能不正确.更多更准确的结论,还需要进行大量实验. 概述 mmdt(Mathematics Mal ...
- 阿里java代码检测工具p3c
阿里在杭州云栖大会上,正式发布众所期待的<阿里巴巴Java开发规约>扫描插件! 该插件由阿里巴巴P3C项目组研发.这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,把<阿里巴巴 ...
- 基于git diff进行的eslint代码检测
缘起 在项目中, 通常都会使用代码检测工具来规范团队的代码风格, 比如eslint.随着代码的不断增加, eslint进行代码检测的时间也越来越久.每次检测的时候, 需要检测的文件和实际检测的文件极度 ...
- Docker+Jenkins持续集成环境(3)集成PMD、FindBugs、Checkstyle静态代码检查工具并邮件发送检查结果
为了规范代码,我们一般会集成静态代码检测工具,比如PMD.FindBugs.Checkstyle,那么Jenkins如何集成这些检查工具,并把检查结果放到构建邮件里呢? 今天做了调研和实现,过程如下 ...
- 2.2、Android Studio通过注解提升代码检测
使用像Lint这样的代码检测工具可以帮助你发现问题和提升代码,但是代码检测在有些地方很难应用.例如,Android的资源ID,使用一个int类型来表示字符.图像.颜色或者其他资源类型所以代码检测工具不 ...
随机推荐
- IDEA_debug窗口问题,debugger窗口消失,窗口漂浮等
- 2016 多校联赛7 Elegant Construction
Being an ACMer requires knowledge in many fields, because problems in this contest may use physics, ...
- s21day01 python笔记
s21day01 python笔记 一.计算机基础 计算机的初步认识 用户:人 软件:QQ.浏览器等 解释器/编译器/虚拟机:java解释器.python解释器等 操作系统 硬件:CPU.内存.硬盘. ...
- jQ常用选择器
#id: $('#div'); //查找id='div'; .class: $('.myclass'); //查找class='myclass'; element:用于搜索的元素,指向DOM节 ...
- es6的let与es5的var定义变量的区别
es6的let与es5的var定义变量的区别 自身新手第一次接触let关键字的时候,不知道let与var的区别,本能认为是一样,但非如此,比如下述的代码运行就会报错: let hello = 'hel ...
- django CBV和FBV写法总结
一.FBV function base views 平常我们的写法,一个URL对应一个视图函数 二.CBV 1.url 配置 path('test/',views.CBVTest.as_views() ...
- ACM C++
杭电oj 2000 sort(a,a+sizof(a)); 对数组a中元素进行排序,参数1,2分别为要排序数组首末地址 故sort句换成下行也通过 sort(a,&a[3]); ac代码 // ...
- Python基础练习及答案
1.请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex', 'eric', 'rain'] 该题目主要是考的字符串的拼接,join方法, s = "" li ...
- ACM-ICPC 2018 徐州赛区网络预赛(9.9)
#include<bits/stdc++.h> #define int long long using namespace std; ; ; ]; int quick(int a,int ...
- 【shell编程】之基础知识-常用命令
一.Shell echo命令 Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出.命令格式: echo string 您可以使用echo实现更复杂的输出格式控制. ...