注:需要重复以上操作,将解决方案内所有项目规则集设置。
3. 开启或关闭全解决方案的代码分析功能:
一般情况代码分析工具仅对已打开的代码文件,如果需要分析解决方案中的所有代码文件需要在菜单:Tools->Options->Text Editor->C#->Advanced下勾选“Enable full solution analysis”:
当启用全解决方案代码分析时,在不打开任何代码文件的情况下会自动对所有代码进行分析,并给出相应结果:
修复代码
当代码分析器发现不符合规则时会把相应的信息(包括普通、警告、错误3个不同等级)显示到错误列表窗口中,双击信息即可到达有问题的代码处,通过quickly action对代码进行修复,下图是将using语句放到命名空间下的代码修复:
注:在修复代码时,修复器提供了3种修复的范围,分别是当前文档、当前项目和解决方案,如果不符合规则的代码遍布解决方案中,那么选择一次修复解决方案会省下非常多的时间。
修复结果:
如果遇到无法修复、修复后代码出错的情况,可以对错误进行压制(suppress)
在源代码中压制:
使用全局压制文件:
注:压制菜单只会出现在对应代码行最左边的快捷活动标签上:
没有压制菜单:
有压制菜单:
使用StyleCop.Json
StyleCop Analyzers除了支持ruleset文件配置规则外,还支持它自己的StyleCop.Json文件配置,另外StyleCop Analyzers提供的一个自动为代码添加文件头的功能(文件头包含了文件以及修改信息)。
1. 通过SA1633警告,添加一个StyleCop.Json文件:
2. 将“build Action”设置为“AdditionalFiles”(注:.Net Standard或者.Net Core中需要选择C# analyzer additional file):
3. 编辑StyleCop.Json: