JetBrains Rider 2020.2ヘルプ

ファイルとタイプのレイアウトパターンを使用してメンバーを再配置する

JetBrains Riderは、さまざまなパターンに従ってC#ファイルのタイプおよびタイプメンバーを並べ替えることができます。パターンは、ファイル内のアイテムを並べ替えたり、指定された領域でラップしたりするときに評価される多くの条件と制約を記述することができます。

レイアウトパターンの紹介

異なるコンテキストに適用される複数のレイアウトパターンを構成できます(たとえば、クラスとインターフェースに異なるパターンを設定できます)。

パターン内では、照合項目がラップ/グループ化される領域/グループと同様に、希望の順序でマッチャ項目を指定することができます。

現在のパターンセットを適用するアルゴリズムは、次のように動作します。

  1. ファイルパターンが存在する場合、JetBrains Riderはファイル内の領域を削除する必要があるかどうかをチェックし、パターン内の各マッチャーエントリがファイル内のコードアイテムと一致するかどうかをチェックします。

  2. 一致するエントリがある場合、ファイル内の対応する正規表現アイテムの位置に従って、ファイル内の位置が変更されます。

  3. 同じコード項目が複数のマッチャーエントリと一致する場合、より高い優先度またはより強い制約を持つマッチャーが適用されます。つまり、パブリック・タイプに一致するパターンAおよびパブリック・スタティック・タイプにマッチするパターンBが存在する場合、すべてのパブリック・スタティック・タイプはパターンBによって照合されます。これを変更するには、パターンAの優先順位を上げることができます。

  4. 同じ制約のセットを有するマッチャーエントリが存在する場合、マッチするアイテムは、そのようなマッチャーエントリの最初の位置に従って移動されます。

  5. リージョンまたはグループが指定されている場合、一致したアイテムはリージョンに応じてグループ化またはラップされます。
    グループまたはリージョンでは、優先度を指定できます。例:グループ/リージョンが外部の他のマッチャーよりも優先度が高い場合、JetBrains Riderは最初にグループ/リージョン内のマッチャーを処理し、次に残りのマッチャーを処理します。リージョンのグループ間の唯一の違いは、リージョンが一致したアイテムを #region / #endregionにラップすることです。

  6. 一致していないものはすべて、一致したアイテムの後に移動されます。一致しないアイテムを別の場所に配置する必要がある場合は、制約なしでマッチャーを作成し、パターン内の目的の位置を設定できます。

  7. その後、もしあればタイプパターンが適用されます。JetBrains Riderは、各型パターンがファイル内の任意の型と一致するかどうかを確認します。型に一致するパターンが複数ある場合は、手順3と4と同様に競合が解決されます。

  8. 型の一致が確立されると、JetBrains Riderはその型の領域を削除する必要があるかどうかをチェックし、次にパターン内の各一致項目がファイル内のいずれかのメンバーと一致するかどうかをチェックします。

  9. 一致するメンバーがある場合、型の中の対応する正規表現の項目の位置に従って、型の位置が変更されます。

  10. 領域、グループ、および比類のないメンバーは、手順5および6と同様に処理されます。

ファイルとレイアウトの環境設定

デフォルトのメンバーレイアウトルールは多数のベストプラクティスに基づいており、ほとんどの場合に推奨できます。ただし、個人の好みや会社の標準がJetBrains Riderのデフォルトと異なる場合は、デフォルトのパターンに基づいてコードの並べ替えパターンを設定したり、特定のケース用の新しいパターンを作成したりできます。

レイアウトパターンへのすべての変更は、JetBrains Rider設定 Ctrl+Alt+Sエディター | コード・スタイル | C# | ファイルレイアウトページで行われます。編集が完了したら、設定ダイアログで保存をクリックして変更を適用し、JetBrains Riderに保存場所を選択させるか、次へ保存リストを使用して変更を特定の設定レイヤーに保存します。詳細については、レイヤーベースの設定を参照してください。

ソースXAMLを編集してファイルとタイプレイアウトを構成する

デフォルトパターンの1つをロードして、このフォーマットで使用されているタグを確認することをお勧めします。たとえば、Entry タグは照合項目を定義し、Entry.Match はどのコード項目を一致させるべきかを指定します。 Entry.SortBy タグは、一致したアイテムをどのようにソートするかを指定します。以下の例を参照してください。

JetBrains Rider: Configuring file and type layout by editing the source XAML

このXAMLコードはコンストラクターと一致し、最初に静的コンストラクターに移動するようにコンストラクターを並べ替えます。

ファイルの並べ替えとメンバーの入力

ファイルとタイプのレイアウト設定を目的の範囲に適用するには、デフォルトのデフォルト: フルクリーンアッププロファイルでコードクリーンアップを実行するか、または以下に説明するように特定のタスク専用のカスタムプロファイルを作成して実行します。

カスタムコードクリーンアッププロファイルでファイルとタイプレイアウトを適用する

  1. Ctrl+Alt+S を押すか、メニューからファイル | 設定(WindowsおよびLinux)またはJetBrains Rider | 環境設定(macOS)を選択します。

  2. クリーンアッププロファイル設定ページに移動します:エディター | コードのクリーンアップ

  3. 新しいカスタムクリーンアッププロファイルを作成するセクションの説明に従って、新しいプロファイルを作成します。新しいプロファイルの選択したプロファイル設定セクションで、ファイルレイアウトを適用するチェックボックスをオンにします。必要に応じて、このプロファイルで他のコードクリーンアップタスクを有効にすることができます。

  4. 設定ダイアログで保存をクリックして変更を適用し、JetBrains Riderに保存場所を選択させるか、次へ保存リストを使用して特定の設定レイヤーに変更を保存します。詳細については、レイヤーベースの設定を参照してください。

  5. ファイルレイアウトを適用する範囲を選択します。

    • キャレットをファイルの任意の場所に設定して、ファイルレイアウトをファイルに適用します。

    • ソリューション・エクスプローラーの1つまたは複数の項目を選択して、これらのノードおよびその子項目のファイルにファイルレイアウトを適用します。

  6. メインメニューのコード | コードのクリーンアップを選択します。

  7. 表示されるコードクリーンアップダイアログで、新しく作成されたプロファイルを選択します。

  8. OKをクリックします。JetBrains Riderは、選択したスコープでファイルレイアウトを適用します。

最終更新日:

関連ページ:

レイヤーベースの設定

Rider設定ダイアログ では、ページアイコンを見て、特定のページに使用されている設定管理メカニズムを確認できます。任意のアイコンでマークされていないページは、ユーザープロファイルに保存されているIDE設定をホストします。レイヤーベースの設定はReSharperと互換性があるため、ReSharper...

コードのクリーンアップ

コード | コードのクリーンアップ...コマンドラインユーティリティを使用してコードのクリーンアップを実行することもできます。JetBrains Riderを使用すると、フォーマットやその他のコードスタイル設定を一括モードで適用して、1つ以上のファイル、プロジェクト、またはソリューション全体でコード...

ネーミングスタイル

バージョン2018.3から、JetBrains Riderは既存のコードからC#シンボルの命名規則を自動的に学習を実行できます。命名規則を手動で構成する場合は、JetBrains Rider設定 のエディター | コード・スタイル | C# | ネーミングページの自動検出ルールを使用するチェックボッ...

コードの冗長性を削除する

JetBrains Rider設定 のエディター | インスペクション重大度ページで、異なる言語のコードの冗長性カテゴリーで、JetBrains Riderは、コードインスペクションに関連付けられた多くのコード冗長性をリストします。これらの冗長性のほとんどについて、JetBrains Riderはク...