2012-02-01 12 views
30

ReSharpersコードクリーンアップを使用すると、メンバを名前でアルファベット順にソートするのではなく、そのタイプ(主にメソッドリターンタイプであるか、プロパティの種類など)を入力し、名前を入力します。例えばReSharperを使用してタイプ別にメンバーを並べ替える

#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メンバーのレイアウトパターンエディタで必要なコードを誰でもおすすめできますか?

+0

メソッドの戻り値の型を意味していますか? – svick

+0

実際には、単にメソッドではなく質問のタイトルを更新します。メソッドとプロパティの型の戻り値の型を最初にソートしたいと思います。私はまだ、コンストラクタ、プロパティ、メソッドなどのデフォルトの順序をクラス内に表示しますが、メンバ名で並べ替えるのではなく、最初にタイプし、次に名前で並べ替えるのではなく、これらのグループのそれぞれに表示します。 – marcusstarnes

+0

私は完全にはわかりませんが、これを行うには[プラグイン](http://confluence.jetbrains.net/display/ReSharper/ReSharper+Plugin+Development)を書くことができます。 – svick

答えて

13

Resharperのタイプメンバーレイアウトを見ると、これは不可能だと思います。ここではイベントの地域のためのサンプル抜粋です:In-depth look at customizing type layout with resharper

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

はここJetBrainsの自身の記事です。

残念ながら並べ替えの戻り値の型がないようです。

- <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"]> 
関連する問題