按照类名及其属性等的顺序重新格式化一个大的C#文件(需要它来保持自动生成的文件保持相同的顺序)



我尝试过格式化文档,但这只是美化了代码,有没有一个工具可以重新排列名称空间、类及其属性在文件中的外观(字典或其他(,以便可以在文本上对两个自动生成的文件进行比较?

人工生成的文件在一个文件中没有超过一个类,或者当同一文件中有许多类时,它们是分层的,因此不需要使用类及其属性的顺序,但是否有一种工具可以按类名、字段、属性、方法名和签名重新格式化和排序文件?

最初的问题是更新WCF服务,将类移动到Reference.cs文件中。

编辑:要复制,只需更新WCF服务并观察Reference.cs文件完全并置,类在文件中上下移动。尝试以独特的方式对大型自动生成的C#文件进行排序,以实现文本比较,同时结构与原始代码保持同构。

编辑2:具体示例代码假设文件如下(psudo代码(

Namespace S2
{
Class C2
Method M2
Property P2
Constructor CTOR2
Field F2
Method M1
Property P1
Field F1
Constructor CTOR1
}
Namespace S1
{
Class C1
Method M2
Property P2
Constructor CTOR2
Field F2
Method M1
Property P1
Field F1
Constructor CTOR1
}

然后在排序格式化后,它将是

Namespace S1
{
Class C1
Constructor CTOR1
Constructor CTOR2
Field F1
Field F2
Property P1
Property P2
Method M1
Method M2
}
Namespace S2
{
Class C2
Constructor CTOR1
Constructor CTOR2
Field F1
Field F2
Property P1
Property P2
Method M1
Method M2
}

注意:属性、方法、字段的顺序无关紧要,只要排序后它们总是按相同的顺序排列即可。

有没有一个工具可以重新排序名称空间、类的外观,它们在文件中的属性(字典或其他(,以便两个自动生成的文件可以在文本上相互比较吗?

花了很长时间搜索后,我发现了以下内容:

1(Resharper扩展及其Greenkeeper已经声明了这一点。

2(CodeMaid扩展

但是我不确定这些扩展是否满足您的所有要求,如果这仍然不是您想要的,恐怕到目前为止还不支持您想要的。

我建议你可以在我们的用户语音论坛(DC(----suggest a feature上发布一个功能请求,分享你的想法。

外,您还可以在此线程中共享链接,任何对此感兴趣的人(包括我们(都会投票,以尽快引起Microsoft的注意。

希望它能帮助你。

最新更新