2009-05-13 8 views
3

ReSharperのは非常に便利紹介し、初期化する場を提供していますxxxのあなたのようなコンストラクタで新しいパラメータを指定するアクション:ReSharperの:どのようにクラスの一番下に新しいプライベートフィールドを導入し、強制するには?

Constructor (int parameter) 

のみ(マイナー)迷惑はそれがで新しいフィールドを置くということですクラスの始まり - と私は他人の詮索好きな目からできるだけ離れて民間の部品を置くのファンなんです;)。

しかし、あなたがすでにクラスにいくつかのプライベートフィールドを持っている場合、Resharperは新しいフィールドを「正しく」配置します(この問題に関して、私はこの問題に関して火星戦争を開始したくありません)たとえ彼らがクラスの最後にいても。

Resharperを強制的ににする方法はありますか?新しいフィールドをクラスの最後に配置しますか?

UPDATE:OK、私は「型メンバのオプションでレイアウト」機能を知って言及するのを忘れてしまったが、フィールドの配置を達成するためのテンプレートを変更する方法についていくつかの具体的な助けがいいだろう。

答えて

0

あなたがまだの場合は、ReSharperののJIRAサイトにバグレポートを申し立てる必要があります。

http://www.jetbrains.net/jira/browse/RSRP

誰かがすでにこのことを報告しているかどうかを確認するために最初に見てください。もしそうなら、あなたはそれらの問題に投票することができますし、それへの変更が通知されます。

0

ReSharperのオプションでカスタム「タイプのメンバーレイアウト」を使用してください。 XMLレイアウト定義の「デフォルトパターン」セクションで

、単に「タイプではそのメソッド、イベント、プロパティ後のセクションの最後にグループあなたのフィールドを、entry要素など

4

を移動メンバーは、あなたが見つけると、デフォルトのパターンの底にXML

<!--fields and constants--> 
<Entry> 
    <Match> 
    <Or> 
     <Kind Is="constant"/> 
     <Kind Is="field"/> 
    </Or> 
    </Match> 
    <Sort> 
    <Kind Order="constant field"/> 
    <Static/> 
    <Readonly/> 
    <Name/> 
    </Sort> 
</Entry> 

の次のブロックを移動することができ「レイアウト。基本的にアップしたファイルの下部を形成

<!--HERE--> 

    </Pattern>  
</Patterns> 

の2行は、残念ながら、簡単なテストでは、これはあなたが記述オプションを使用して作成された新しい分野に影響を与えないことを示しているが、それは、コードのクリーンアップが適切な場所に移動させるだろう。

:あなたはpublicフィールドを使用しての習慣であり、あなただけのプライベートなものはその後、これに上記の一致を変更下へ移動したい場合は


(あなたが持って提供する「並べ替えは、タイプのメンバーは、」オン)

<Match> 
    <And> 
    <Access Is="private"/> 
    <Or> 
     <Kind Is="constant"/> 
     <Kind Is="field"/> 
    </Or> 
    </And> 
</Match> 

ブロック全体をもう一度コピーして、「アクセス」の値を「public」に変更して、パブリックフィールドをどこにでも置くことができる場所に新しいパブリックブロックを置くことができます。推測する。

+0

私は質問をする前にいることを試してみましたが、あなたが得た同じ結果を得ました。それでも、努力をしてくれた私の+1点、ありがとう –

関連する問題