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

问题描述 投票:0回答:1

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

人为生成的文件在文件中没有一个以上的类,或者当同一文件中有多个类时,它们是分层的,因此无需求助类及其属性的顺序,但是有一个工具可以通过类名称,字段,属性,方法名称和签名来重新格式化和排序文件?

最初的问题是更新WCF服务,将类遍历Reference.cs文件。

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

Edit 2:具体示例代码假设文件如下(伪代码)

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
}

注意:属性,方法,字段的顺序无关紧要,只要排序之后它们始终以相同的顺序出现。

visual-studio-2019 visual-studio-extensions
1个回答
1
投票
是否有一种工具可以对命名空间,类的外观进行重新排序,它们在文件中的属性(字典或其他),以便两个自动生成的文件可以在文本上进行比较吗?

花了很长时间后,发现了这些:

1] Resharper extension,并且其Greenkeeper已声明为this

2)

CodeMaid extension

但是

我不确定这些扩展名是否满足您的所有要求,如果仍然不是您要的扩展名,恐怕到目前为止尚不支持您想要的扩展名。[我建议您可以在我们的User Voice forum(DC) ---- suggest a feature中发布功能请求,以分享您的想法。

Besides

,您可以在此线程中共享链接,包括我们在内对此感兴趣的任何人都将对其投票,以尽快引起Microsoft的注意。希望它可以帮助您。
© www.soinside.com 2019 - 2024. All rights reserved.