gpt4 book ai didi

c# - 使用 ReSharper 按类型然后按名称对成员进行排序

转载 作者:IT王子 更新时间:2023-10-29 04:11:35 25 4
gpt4 key购买 nike

我一直在尝试让 ReSharpers Code Cleanup 不仅按名称字母顺序对任何成员进行排序,而且主要按它们的类型(无论是方法返回类型还是属性类型等)对它们进行排序,然后再按它们姓名。

例如:

#region " Properties "

public string Name { get; set; }
public int Age { get; set; }

#endregion

#region " Instance Methods "

public void SecondMethod()...
public void FirstMethod()...
public Post GetPost()...
public List<Post> GetPosts()...

#endregion

会变成:

#region " Properties "

public int Age { get; set; }
public string Name { get; set; }

#endregion

#region " Instance Methods "

public List<Post> GetPosts()...
public Post GetPost()...
public void FirstMethod()...
public void SecondMethod()...

#endregion

理想情况下,我希望其他默认行为保持不变,例如其中构造函数、属性被定位/分组,并且如果多个成员出现在一个区域内(如上例所示),则该组成员将独立于该组/区域外的成员进行排序。

有人可以推荐 ReSharper Type Members Layout 模式编辑器中实现此目的所需的代码吗?

最佳答案

查看 Resharper 中的类型成员布局,我猜这是不可能的。以下是事件区域的示例片段:

<Entry>
<Match>
<Kind Is="event"/>
</Match>
<Sort>
<Access Order="public internal protected-internal protected private" />
<Static />
<Name/>
</Sort>
<Group Region="Events"/>
</Entry>

这是 JetBrains 自己的一篇文章:In-depth look at customizing type layout with resharper .

不幸的是,似乎没有用于排序的返回类型限定符。以下是该帖子中引用的选项:

 - <Kind Is=”$val” [Order=”$val”]>
- <Name Is="$val” [IgnoreCase=”true/false”]>
- <HasAttribute CLRName=”$val” [Inherit=”true/false”]>
- <Access Is=”$val”>
- <Static/>
- <Abstract/>
- <Virtual/>
- <Sealed/>
- <Readonly/>
- <ImplementsInterface CLRName=”$val” [Immediate=”true/false”]>
- <HandlesEvent/>

您可以联系 JetBrains 并请求将新的操作数添加到列表中。看起来相当简单。可能是这样的:

<ReturnType="$val" [Order="$val"][AlphaOrder="true/false"]>

关于c# - 使用 ReSharper 按类型然后按名称对成员进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9096137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com