netcore将StyleCop.Analyzers自定义规则应用到整个解决方案

概述

编码中会用一些基于Roslyn的编码规范工具 如:StyleCop.Analyzers,但不是每一项规则都是适合自己或团队,所以都会对规则进行微调,但是StyleCop.Analyzers规则默认针对单个项目,我们肯定希望规则统一管理,防止项目间配置不同导致约束不一致。本文将介绍如何将自定义规则应用到整个解决方案。


  1. 利用Nuget安装StyleCop.Analyzers
    在这里插入图片描述
    安装成功后能在分析器下面看到多了两项,所有规则在下图的StyleCop.Analyzers中
    在这里插入图片描述
  2. 展开StyleCop.Analyzers 选择想要配置的规则右键设置规则集严重性。
    在这里插入图片描述
    设置成功过后项目下会产生一个.ruleset结尾的规则文件。(PS~ .net framework的项目则右键StyleCop.Analyzers 会有一个打开规则设置的选项能生成此文件)
    在这里插入图片描述
  3. 有了规则文件后我们就要把所有项目的StyleCop.Analyzers配置指向这同一个规则文件即可,.net framework的项目->属性->代码分析手动选择文件即可,真是很方便,netcore我却没找到代码分析选项,可能目前还没支持手动选择配置(如果有知道确切为什么请告知一下)。重点来了,此时我们右键项目编辑csproj。添加上规则文件位置即可。
    在这里插入图片描述
    打开后默认如下图,有两条配置都指向了相对位置的.ruleset文件。
    在这里插入图片描述
    为了工程的规范性推荐大家在解决方案下新建目录放置此类规则文件。下图我把之前的ruleset文件放到解决方案下config目录并且重命名为StyleCop.releset。然后在工程中也添加了此项(这步可以省,只不过感觉工程配置能在vs中能看舒服些)。
    在这里插入图片描述
    此时我们配置如下图,设置相对目录,两个点表示上一层,我的项目文件夹距离解决方案config有两层所以写了两遍。
    在这里插入图片描述
  4. 此时我们可以每个项目安装StyleCop.Analyzers,然后直接修改项目.csproj文件指向规则文件。在任何一个项目中更改的规则都会保存到同一个规则文件里面,其他项目也会直接生效配置。
  5. 如果对每个解决方案的项目都要修改配置感到麻烦,可以考虑去StyleCop.Analyzers的github 拉取源码更改默认配置或增加新的规则,然后自己发布nuget,以后可以统一版本控制每个解决方案的编码规则。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值