天天看点

C# 代码规范和质量检查工具 StyleCop.Analyzers

简介

原来一直用 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 然后安装就可以了

C# 代码规范和质量检查工具 StyleCop.Analyzers

安装完成就直接可以看到效果了,StyleCop.Analyzers 会像 ReSharper 那样在你写代码的时候就提示错误,而不用编译以后才发现错误了。

C# 代码规范和质量检查工具 StyleCop.Analyzers

不过编译以后还是会把所有的错误提示显示出来

C# 代码规范和质量检查工具 StyleCop.Analyzers

配置自定义规则

在上面的图片里,可以看到我的项目一共有32个 StyleCop 警告,下面我们就把 SA1652 警告去除。

找到引用里得 Analyzer,右键点击 Open Active Rule Set,就可以打开规则表

C# 代码规范和质量检查工具 StyleCop.Analyzers

然后找到 StyleCop.Analyzers 的规则 SA1652,取消勾选,然后保存。

C# 代码规范和质量检查工具 StyleCop.Analyzers

最终会在项目里生成一个 .ruleset 后缀的文件就是我们的自定义规则。

C# 代码规范和质量检查工具 StyleCop.Analyzers

编译以后查看效果,就会发现前面提示的 SA1652 的警告已经没有了。

C# 代码规范和质量检查工具 StyleCop.Analyzers