简介
原来一直用 ReSharper 来进行代码质量检查,不过毕竟是收费的,所以想找个免费的可以推广给公司的同事也一起用。搜索了一下,找到了StyleCop,但是我在 VS 2015里安装 StyleCop 或者通过 Nuget 包安装 StyleCop.MSBuild,虽然编译以后能把 warning 显示在 Error List 中,但是无法通过 项目---右键 配置 StyleCop 的规则,最终在找到了一个 StyleCopAnalyzers 也算是 StyleCop 的新版本吧。
主要使用了 Visual Studio 2015's Roslyn 分析工具,带来了以下的好处:
- 可以支持 C# 6
- 使用 Roslyn 解析器,减少了自定义解析器的性能消耗
- 当你写代码的时候解析器就会运行,当你编译的时候也会运行(不需要再设置 msbuild 任务或者安装任何 vs 插件)
安装
安装的话比较简单,在项目里管理 NuGet 包,输入 StyleCop.Analyzers 然后安装就可以了
![](https://img-blog.csdnimg.cn/img_convert/c71fb3ce8722a3997f3938fb9b52a08b.png)
安装完成就直接可以看到效果了,StyleCop.Analyzers 会像 ReSharper 那样在你写代码的时候就提示错误,而不用编译以后才发现错误了。
![](https://img-blog.csdnimg.cn/img_convert/5f4edc984a38d818b1e73ebf8d9162f7.png)
不过编译以后还是会把所有的错误提示显示出来
![](https://img-blog.csdnimg.cn/img_convert/198428c399e0fa86935887dc4202cd8a.png)
配置自定义规则
在上面的图片里,可以看到我的项目一共有32个 StyleCop 警告,下面我们就把 SA1652 警告去除。
找到引用里得 Analyzer,右键点击 Open Active Rule Set,就可以打开规则表
![](https://img-blog.csdnimg.cn/img_convert/655b9581daf3ab1bf668b9dc5b80dbf7.png)
然后找到 StyleCop.Analyzers 的规则 SA1652,取消勾选,然后保存。
![](https://img-blog.csdnimg.cn/171cd597dffd4fdd8d5825792700d779.png)
最终会在项目里生成一个 .ruleset 后缀的文件就是我们的自定义规则。
![](https://img-blog.csdnimg.cn/img_convert/e09a26b3a06aa86a3a5e21751f5b6152.png)
编译以后查看效果,就会发现前面提示的 SA1652 的警告已经没有了。
![](https://img-blog.csdnimg.cn/img_convert/7ede2f030e89cb3ca440a80b13b7df7b.png)
![](https://img-blog.csdnimg.cn/f8c3ebbb0475455e99d1d30e1a53e3e8.png)
点击如下
![](https://img-blog.csdnimg.cn/ebccb6547f31473cbd29ed0b25fb29a2.png)
![](https://img-blog.csdnimg.cn/fa6eb596f878498fba4439c60e2bd8a5.png)