web-dev-qa-db-ja.com

Resharper Clean-up Code-メソッドの並べ替えに影響を与える方法は?

私はカスタマイズされたクリーンアップを持っています、そしてそれはほとんど「あり」ます。

ただし、R#はメンバーメソッドを並べ替えるように見えますが、少なくともアルファベット順には表示されません。

その並べ替えを強制する方法はありますか?

47
Anders Juul

レイアウトのカスタマイズは、Resharperで実現できます。移動:

Resharper-> Options-> Languages-> C#-> Formatting Style-> Type Members Layout

ReSharper 2017

Resharper->オプション->コード編集-> C#->ファイルレイアウト->インターフェースの実装/その他すべてのメンバー

[デフォルトのパターンを使用]オプションをオフにします。

次に、「カスタムパターン」ボックスでxmlを編集します。 xmlを適切にハイライトできるエディターにコピーすることをお勧めします(notepad ++またはVisual Studioは正常に動作するはずです)。

次に、下部近くのセクションを見つけます。

    <!--all other members-->
    <Entry/>

それを次のように変更します。

    <!--all other members-->
    <Entry>
      <Match>
        <Kind Is="method"/>
      </Match>
      <Sort>
        <Name/>
      </Sort>
    </Entry>

次に、クリーンアッププロファイルに「タイプメンバーの並べ替え」があることを確認し、ソリューションエクスプローラーでファイル名を右クリックして、「クリーンアップコード...」を実行します。私はこれを自分で試してみましたが、メソッドをアルファベット順に並べています。

アクセスタイプで並べ替える場合は、<Sort>要素の下にこれを追加できます。

<Access Order="public protected internal private" />

詳細は 記事 をご覧ください。

87
James Kolpack

Resharper-> Options-> Languages-> C#-> File Layout

[他のすべてのメンバー]を選択し、[名前で並べ替え]を選択します(写真の右下にハイライト表示)

Options screen

22
Jacob Brewer

XMLファイルのレイアウトでは、要素Entry.SortByをたとえば他のすべてのメンバーに追加する必要があります。

 <Entry DisplayName="All other members">
  <Entry.SortBy>
    <Name />
  </Entry.SortBy>
</Entry>

9.2の問題は、Entry.SortByがXMLにない場合、デザイナーから選択した値が保存されないことです。

0
George Kargakis