好代码是管出来的——.Net中的代码规范工具及使用 (4)

  

好代码是管出来的——.Net中的代码规范工具及使用

  注:配置文件中的智能提示由"$schema"控制,并且可以在打开文件时通过右键菜单重新加载智能提示的schema。

  4. 生成文件头信息:

  

好代码是管出来的——.Net中的代码规范工具及使用

  5. 通过Nuget Package的形式重用ruleset文件和StyleCop.Json,更多信息查看文档:  https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/Configuration.md 的Sharing configuration among solutions小节。

在.Net Core/.Net Standard项目中使用代码分析器

  在.Net Core项目中使用代码分析器与.Net Framework项目中使用方法相似,但有一些不同的地方。
  1. 首先同样需要对解决方案内的所有项目安装分析器:

  

好代码是管出来的——.Net中的代码规范工具及使用

  安装后,出现的警告信息:

 

好代码是管出来的——.Net中的代码规范工具及使用

  2. 修改规则集:
  注:.Net Core项目没有“Open Active Rule Set”菜单,刚开始只能对特定分析器的特定规则设置严重性:

   

好代码是管出来的——.Net中的代码规范工具及使用

  与此同时,当前项目生成一个以项目名称命名的ruleset文件:

  

好代码是管出来的——.Net中的代码规范工具及使用

  双击打开该文件时可以使用规则编辑窗口即可对该规则集进行修改:

  

好代码是管出来的——.Net中的代码规范工具及使用

  注:目前为止VS对.Net Core项目的代码分析支持有些细节尚未完善,本例使用VS17 15.7.3版本进行演示,一些版本相对较老的VS版本可能会出现无法创建ruleset文件(需手动根据项目名称创建):

  

好代码是管出来的——.Net中的代码规范工具及使用

  或者编辑ruleset文件时无法显示规则内容等情况:

  

好代码是管出来的——.Net中的代码规范工具及使用

  同时在编辑ruleset文件时,需要将Project选择All,才能看到所有的规则集。
  3. 解决方案共享一个规则集:
  注:VS对于.Net Core类型的项目,在查看其项目属性时,没有Code Analysis选项卡,所以如果要共享规则集,除了先将规则集移动到一个固定位置外,还需要手动在每一个项目文件中添加下面XML片段:

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> <CodeAnalysisRuleSet>..\RuleSets\My.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <CodeAnalysisRuleSet>..\RuleSets\My.ruleset</CodeAnalysisRuleSet> </PropertyGroup>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsppyp.html