7

StyleCop要求 C# 文件的内容具有特定的排序顺序。例如,字段应该在方法之前声明,公共声明应该在私有声明之前。

拥有一个 Visual Studio 扩展来自动将这些东西移动到该顺序中会很有用。

是否存在一个好的扩展(我找到了 CodeSorter,但反馈表明它非常有问题)?或者是否有任何扩展或快捷方式可以减少手动重新排序这些内容的痛苦?

4

5 回答 5

8

您可以尝试使用Regionerate

Regionerate 是一种自动化工具,可帮助您随着时间的推移保留代码的布局。Regionerate 允许您在代码中定义区域并确定成员(字段、方法、属性等)应放置在其中的方式。Regionerate 是一个零摩擦工具 - 设置时,您可以选择代码布局(您希望代码的外观)或仅使用默认代码布局。从那一刻起,Regionerate 将确保您的代码遵循该代码布局。

于 2011-12-03T21:02:16.027 回答
6

ReSharper 可以做到这一点。它具有“类型成员布局”功能,允许您使用默认规则集或定义自己的规则。

于 2011-12-03T22:01:22.093 回答
5

CodeMaid 是一个免费的开源 Visual Studio 扩展,它将重新组织代码以遵循 StyleCop 约定。你可以在这里找到它:http: //visualstudiogallery.msdn.microsoft.com/76293c4d-8c16-4f4a-aee6-21f83a571496

免责声明:这是一个完全无耻的插件,我写的。;)

于 2012-06-15T23:54:26.610 回答
1

我使用 ReSharper 及其类型成员布局。有关详细信息,请参阅我的帖子。

于 2011-12-22T04:01:27.110 回答
0

如果代码排序是您唯一关心的问题,您可以尝试 Visual Studio Extension CodeSorter

CodeSorter 是高度可定制的扩展,它允许其用户按各种条件对 C# 代码进行排序,例如名称、类型(方法、类、结构...)、可见性修饰符(private、public、...)、常量修饰符(const、 static, readonly) 和虚拟修饰符 (virtual, override, new, ...)。

可以分配多个搜索条件以具有相同的优先级,例如首先放置受保护和私有成员,然后是公共和内部成员。

名称的比较方式是去掉前导“m_”和“_”。这允许字段和属性(例如 _foo 和 Foo)彼此相邻。

单行声明放置时不使用空行分隔,而多行声明则以空行分隔。例外情况是单行字段后跟多行属性且没有同名注释的位置将不带分隔空行。

于 2015-04-26T06:32:24.023 回答