StyleCop强制要求对C#文件的内容进行特定的排序。例如,字段应该在方法和公共声明应该出现在私有字段之前声明。
使用Visual Studio扩展来自动将这些内容移动到该顺序中会很有用。
是否存在良好的扩展名(我发现CodeSorter,但反馈表明它非常错误)?或者是否有任何扩展或快捷方式可以减少手动重新排序此内容的痛苦?
答案 0 :(得分:8)
您可以尝试使用Regionerate:
Regionerate是一款自动化工具,可以帮助您保护自己 代码的布局随着时间的推移。 Regionerate允许您定义区域中的区域 代码并确定成员的方式(字段,方法,属性等) 应该放在里面。 Regionerate是零摩擦工具 - 在设置时,您可以选择代码布局(您希望的方式) 要查看的代码)或只使用默认的代码布局。从那一刻起 在,Regionerate将确保您的代码遵循该代码布局。
答案 1 :(得分:6)
ReSharper可以做到这一点。它具有“类型成员布局”功能,允许您使用一组默认规则或定义自己的规则。
答案 2 :(得分:5)
CodeMaid是一个免费的开源Visual Studio扩展,它将重新组织代码以遵循StyleCop约定。您可以在此处找到它:http://visualstudiogallery.msdn.microsoft.com/76293c4d-8c16-4f4a-aee6-21f83a571496
免责声明:这是一个完全无耻的插件,我写道。 ;)
答案 3 :(得分:1)
我使用ReSharper及其类型成员布局。有关详细信息,请参阅我的post。
答案 4 :(得分:0)
如果您唯一需要进行代码排序,则可以尝试Visual Studio Extension CodeSorter
CodeSorter是高度可自定义的扩展,允许其用户使用 通过各种条件对C#进行编码,如名称,类型(方法, class,struct,...),visibility modifiers(private,public,...), constness修饰符(const,static,readonly)和虚拟修饰符 (虚拟,覆盖,新,......)。
可以指定多个搜索条件以具有相同的搜索条件 优先级,例如将受保护的和私有成员放在第一位,以及 然后是公众和内部人员。
以剥离前导“m_”和“_”的方式比较名称。 这允许字段和属性(例如_foo和Foo)接下来正确 彼此。
在不分隔空行的情况下放置单行声明,而 多行声明由空行分隔。例外 是一个单行的字段,后面跟着一个没有的多线房产 将放置相同名称的注释而不分隔空白 线。