32

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

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

4

9 回答 9

25

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

当然,如果有一个自动化工具来实现一致的格式,我会在签入后将它连接起来,让它帮助我。但是 Style Cop 是由虐待狂制造的。大概他们的谈话是这样的:

Bob:使用模式匹配,软件可以识别丑陋的代码
Charlie:——并修复它!
Bob:不,它会打印一条关于每一次违规的消息
Charlie:——然后用户右键单击以修复它们?
鲍勃:不,它责备他们“逗号周围的空格无效”
查理:——然后解释如何解决它?
Bob:不,那是在单独的文件中
Charlie:——在 Google 上?
鲍勃:没有。

我讨厌时尚警察。它低于最低可行产品。

于 2012-09-13T13:47:57.067 回答
15

现在你可以在你的项目中使用StyleCop.Analyzers NuGet 包。

NuGet 包管理器可用 StyleCop.Analyzers 更新

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

“文档文本应以句点结尾”的 Visual Studio 错误列表警告

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

Visual Studio 快速修复。 标记为“修复所有出现”选项

预览更改窗口允许您取消选择要手动解析的行。

窗口预览更改 - 修复所有事件

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

于 2019-09-25T09:23:03.617 回答
12

这并不完全是“自动修复任何东西”,但是Github上有一个用于 Resharper的StyleCop 插件,它会自动突出显示代码中的样式错误。

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

于 2009-05-06T23:11:36.013 回答
7

StyleCopFixer自动修复Visual Studio IDE for C# Only中的 StyleCop 异常。

目前处理的错误有:

  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
于 2013-02-01T12:21:36.927 回答
3

codeplex 中有一个项目,它根据 stylecop 警告进行一些自动修复。然而它并不完整……

见:http ://stylefix.codeplex.com/

于 2009-11-05T15:16:52.173 回答
3

Code Maid做了一些 Stylecop 修复。

于 2014-12-23T02:44:12.167 回答
0

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

但是,如果您设置 Visual Studio 的格式选项(和 Resharper 的,如果有的话)以匹配样式警察指南,清理会变得更容易一些。

完成此操作后,您可以进入文件并执行 Edit->Advanced->Format Document(或键盘快捷键,这取决于您的快捷键设置 - 我的是 Ctrl+K、Ctrl+D)。这将修复相当多的风格警察警告,特别是如果你有 resharper + stylecop 插件。它不会解决所有问题,但在许多情况下,它会将文件中的警告数量从数百个减少到数十个。

于 2009-05-07T00:21:07.470 回答
0

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

于 2009-05-08T08:13:24.063 回答
-1
  1. 关闭警告!不推荐,但您可以在短期内使用它,直到解决大部分问题。
  2. 编写一个程序来修复一些更简单的警告,或者使用查找/替换
  3. 使用代码片段来帮助处理文件头文档之类的事情

StyleCop博客上提到了实现规则的自动修复

还可以查看博客上关于集成到现有大型项目的条目。

注意:StyleCop 似乎只返回 1000 条左右的警告,所以即使修复了一个堆,你也会继续得到这个数字。

于 2009-05-06T23:10:04.283 回答