StyleCop可以自动修复任何东西吗?

时间:2009-05-06 23:00:42

标签: visual-studio-2008 shortcut stylecop

我决定开始在一个中型项目上运行StyleCop,并且收到超过1000个警告。

是否有一种快速简便的方法来解决大多数这些警告?大多数警告很容易自动解决,并且可以节省很多时间。

9 个答案:

答案 0 :(得分:10)

这并不是“自动修复任何内容”,但StyleCop plug-in上的Resharper有Codeplex会自动突出显示代码中的样式错误。

更新: 根据StyleCop for ReSharper website,ReSharper现在为StyleCop错误提供越来越多的Quick-Fixes。您从列表中选择快速修复,问题将自动解决。

答案 1 :(得分:10)

不,令人沮丧。这就是Style Cop适得其反的原因。一致的格式看起来不错,但它的生产效率很小(真正使代码难以阅读的是长度和indirection)。完美的间距不值得花费数小时手动调整线条。

当然,如果有一个自动工具来实现一致的格式化,我会在办理登机手续后将其挂钩,并让它帮助我。但是风格警察是由虐待狂制造的。大概他们的谈话是这样的:

  

Bob:使用模式匹配,软件识别丑陋的代码   查理: - 修好了!   鲍勃:不,它会打印一条关于每次违规的消息   查理: - 然后用户右键单击以解决所有问题?   鲍勃:不,它骂他们在逗号周围的无效间距   查理: - 然后解释如何解决它?   鲍勃:不,那是在另一份文件中   查理: - 谷歌?   鲍勃:不。

我讨厌风格警察。它低于最低可行产品。

答案 2 :(得分:4)

StyleCopFixer会自动修复仅限C#中的StyleCop异常在Visual Studio IDE 中。

目前提供的错误包括:

  1. SA1001
  2. SA1516
  3. SA1513
  4. SA1508
  5. SA1507
  6. SA1505
  7. SA1309
  8. SA1210
  9. SA1202
  10. SA1200
  11. SA1106
  12. SA1101
  13. SA1025
  14. SA1013
  15. SA1012
  16. SA1009
  17. SA1008
  18. SA1633
  19. SA1003
  20. SA1005
  21. SA1600(仅限物业)
  22. SA1121

答案 3 :(得分:2)

codeplex中有一个项目根据stylecop警告进行一些自动修复。但是不完整...

请参阅:http://stylefix.codeplex.com/

答案 4 :(得分:1)

Code Maid做了一些Stylecop修复。

答案 5 :(得分:0)

不幸的是,现在,我不知道有任何自动工具可以完全解决问题。

但是,如果你设置Visual Studio的格式化选项(和Resharper的,如果你有的话),以便代码格式化以匹配样式警察指南,那么清理会更容易。

完成后,您可以进入文件并执行编辑 - >高级 - >格式文档(或键盘快捷键,随快捷方式设置而变化 - 我的是Ctrl + K,Ctrl + D )。这将解决相当多的风格警察警告,特别是如果你有resharper + stylecop插件。它不能解决所有问题,但在很多情况下,它会将文件中的警告数量从数百下降到数十。

答案 6 :(得分:0)

如果您有Resharper,可以下载Resharper的StyleCop插件,该插件具有一些自动修复功能。 StyleCop for Resharper on codeplex.

答案 7 :(得分:0)

如今,您可以在项目中使用StyleCop.Analyzers NuGet软件包。

NuGet Package Manager available StyleCop.Analyzers update

更新程序包可能会导致很多新的警告。

Visual Studio Error List warnings of 'Documentation text should end with a period'

Ctrl + 显示可用的快速修复。可以一次将修复程序应用于整个文档项目解决方案

Visual Studio quick fix. Marked 'Fix all occurrences in' options

预览更改窗口可让您取消选择要手动解决的行。

Window Preview Changes - Fix all occurrences

CodeMaid是批量或自动修复格式错误的好工具。

答案 8 :(得分:-1)

  1. 关闭警告!不推荐,但你可以在短期内使用它,直到你解决了大部分问题。
  2. 编写程序来修复一些更简单的警告,或使用find / replace
  3. 使用代码段来帮助处理文件标题文档
  4. StyleCop blog提到了关于实施规则自动修复的问题

    另请查看博客上有关集成到现有大型项目的entry

    注意:似乎StyleCop只返回大约1000个警告,因此即使在修复堆后你也会继续获得这个数字。