JetBrains Rider 2020.2 ヘルプ

コードのクリーンアップ

コード | コードのクリーンアップ ...
Ctrl+E, C

JetBrains Rider を使用すると、フォーマットやその他のコードスタイル設定を一括モードで適用して、1 つ以上のファイル、プロジェクト、またはソリューション全体でコードスタイル違反を即座に排除できます。

コードクリーンアッププロファイル

コードのクリーンアップには、ニーズに応じてさまざまな場合に適用できるさまざまな設定(プロファイル)があります。提供時の状態で使用可能な 3 つのデフォルトプロファイルがあります。

これらのプロファイルはほとんどの場合に役立ちますが、構成することはできません。カスタムクリーンアップタスクのセットを使用してコードクリーンアップを実行する場合は、カスタムプロファイルを作成し、そこで必要なタスクのセットを指定する必要があります。

新しいカスタムクリーンアッププロファイルを作成する

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

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

  3. ページの上部にある追加をクリックします。JetBrains Rider は新しいクリーンアッププロファイルを作成します。

  4. プロファイルのリストで新しく作成したプロファイルを選択します。

  5. 右側のペインを使用して、選択したプロファイルのタスクのリストを構成します。

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

新しく作成したクリーンアッププロファイルは、コードクリーンアップを実行しているときにコードクリーンアップダイアログ(コード | コードのクリーンアップ)で使用できます。このプロファイルをサイレントクリーンアップに使用するように設定することもできます。

コードのクリーンアップを実行する

コード | コードのクリーンアップ ...
Ctrl+E, C

JetBrains Rider は、任意に選択したコードブロック、現在のファイルのすべてのコード、ディレクトリのすべてのファイル、現在のプロジェクト、または現在のソリューションにコードクリーンアップを適用できます。適切なクリーンアッププロファイルを選択して、適切なクリーン アップタスクのセットを選択していることを確認してください。

選択範囲またはファイル全体をクリーンアップする

  1. コードをクリーンアップするスコープを選択します。

    • エディターで選択して、選択範囲内のコードをクリーンアップします。

    • ファイル内の任意の位置にキャレットを設定して、ファイル内のコードをクリーンアップします。

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

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

  3. 表示されるコードクリーンアップダイアログで、コードとクリーンアッププロファイルの有効範囲を選択します。

  4. 選択したスコープのコードを消去するには、OK をクリックします。

個々のファイルだけでなく、ディレクトリ、プロジェクト、またはソリューション全体の複数のファイルもクリーンアップできます。これを行うには、ソリューションエクスプローラーからコードクリーンアップを実行する必要があります。

複数のファイル、プロジェクト、またはソリューション全体をクリーンアップする

  1. ソリューションエクスプローラーで 1 つまたは複数の項目(ファイル、ディレクトリ、プロジェクト、またはソリューション)を選択します。

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

  3. 上記のようにクリーンアッププロファイルを選択します。

  4. 選択したスコープのコードを消去するには、OK をクリックします。

サイレントクリーンアップ

コード | サイレントコードクリーンアップ
Ctrl+E, F

コードクリーンアップをサイレントモードで実行することもできます。つまり、コードクリーンアップダイアログを表示せずに実行することができます。この場合、プロファイルを明示的に選択できないため、サイレントコードのクリーンアップに使用するクリーンアッププロファイルを割り当てる必要があります。

サイレントコードクリーンアップ用のプロファイルを割り当てる

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

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

  3. 左側のクリーンアッププロファイルを選択し、オプションページの上部にあるサイレントクリーンアップのデフォルトとして設定をクリックします。

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

サイレントモードでコードのクリーンアップを実行する

  1. 以下のいずれか 1 つを実行します :

    • 特定のコードファイルでサイレントコードクリーンアップを実行するには、テキストエディターで開くか、ソリューションエクスプローラーで選択します。

    • ファイルセット(ディレクトリ、プロジェクト、またはソリューション)にサイレントコードクリーンアップを適用するには、ソリューションエクスプローラーで対応する項目を選択します。

  2. Ctrl+E, F を押すか、メインメニューからコード | サイレントコードクリーンアップを選択します。または、Ctrl+Shift+A を押して、ポップアップにコマンド名を入力し、そこで選択することもできます。

利用可能なコードクリーンアップタスク

以下の表に、さまざまな言語で使用可能なクリーンアップタスクを示します。これらのタスクの一部のみを実行するためにクリーンアップが必要な場合は、そのためのカスタムクリーンアッププロファイル作成できます。

C#

ファイルレイアウトを適用する JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | ファイルレイアウトページで構成可能なルールに従って、ファイル内のタイプメンバーを並べ替えます。詳細については、ファイルとタイプのレイアウトパターンを使用してメンバーを再配置するを参照してください。
ファイルヘッダを更新する ファイルヘッダーコメントを挿入または更新します。
構文スタイル
'var' スタイルを適用 クリーンアップ中に 'var' 用のルールを適用します。ルールは、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで構成可能です。
型には明示的または暗黙的な修飾子の定義を使用する タイプ修飾子のルールを適用します。internal 修飾子を明示的に使用しないかどうか。ルールは、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで構成可能です。詳細については、コードの構文スタイル : 修飾子を参照してください。
型メンバーに明示的または暗黙的な修飾子定義を使用する タイプメンバー修飾子にルールを適用します。private 修飾子を明示的に使用しないかどうか。ルールは、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで構成可能です。詳細については、コードの構文スタイル : 修飾子を参照してください。
ソート修飾子 タイプ / メンバー修飾子の優先順序を適用します。ルールは、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで構成可能です。詳細については、コードの構文スタイル : 修飾子を参照してください。
引数のスタイルを適用する(named | 位置) 特定のタイプのパラメーターの名前付き / 位置引数の設定を適用します。設定は、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで構成可能です。詳細については、コードの構文スタイル : 名前付き / 位置引数を参照してください。
冗長なカッコを除去 JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで指定されている場合に、冗長なオプションの括弧を削除します。詳細については、コードの構文スタイル : オプションの括弧を参照してください。
オペレーションの優先順位を明示的に指定する括弧を追加する オプションの括弧を追加して、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで指定された場合の操作の優先順位を明確にします。詳細については、コードの構文スタイル : オプションの括弧を参照してください。
シングルステートメントの周囲に波括弧を追加 / 削除する JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで指定されているように、単一のネストされたステートメントを囲むオプションの中括弧を追加または削除します。詳細については、コードの構文スタイル : 1 つのネストされた文に対する波括弧を参照してください。
アライメント属性 JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで指定されている複数の属性にルールを適用します。詳細については、コードの構文スタイル : 複数の属性を参照してください。
コードボディスタイルを適用する JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで指定されているように、関数メンバーの本体(式本体 | ステートメント本体)に設定を適用します。詳細については、コードの構文スタイル : 関数メンバーの本体を参照してください。
末尾のコンマを配置する JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで指定されているように、複数の項目と同様の構成(オブジェクト、配列、およびコレクション初期化子、列挙型と switch 式)を使用した宣言の末尾のコンマの設定を適用します。詳細については、コードの構文スタイル : 末尾のコンマを参照してください。
コードの冗長性を削除する

JetBrains Rider 設定 Ctrl+Alt+Sエディター | インスペクション重大度ページのほとんどの言語のコードの冗長性カテゴリで、JetBrains Rider は、コードインスペクションに関連付けられている 50 以上の冗長性をリストします。それらのいくつかは特別な注意を必要とし、バッチモードでは処理できません。これにより、コードクリーンアップに約 30 の冗長性が残り、クリーンアッププロファイルでコードの冗長性を削除するを選択するたびに自動的に削除できます。
具体的には、コードのクリーンアップ:

  • 除去 :

    • 冗長な空のコンストラクター。

    • 列挙型の明示的な整数型指定子。

    • for ステートメントの true 指定子。

    • 冗長な型キャスト。

    • 引数のない属性の括弧は冗長です。

    • 引数のない基本クラスコンストラクターへの明示的な呼び出し。

    • 冗長なブール比較。

    • 単一の式を持つコレクション初期化子からの冗長な波括弧。

    • 冗長明示的デリゲート作成式。

    • オブジェクト / コレクション初期化子からの空の引数リスト。

    • 冗長な new キーワード。

    • 1 つの型が 1 つの型を持つ型宣言の冗長 partial 修飾子。

    • 冗長な unsafe コンテキストとステートメント。

    • 冗長な object.ToString() 呼び出し(たとえば、文字列との連結または string.Format() 呼び出しの引数として)。

    • 冗長 string.ToCharArray() コール。

    • 引数型の冗長な指定。

    • メソッド本体でパラメーターが使用されていない匿名メソッドのシグニチャ。

    • 参照されていないラベル。

    • 冗長フィールド初期化子。

    • 匿名型のプロパティの冗長な明示的な名前。

    • 値の型が暗黙的に nullable に変換可能な冗長な nullable 型。

  • 変換 :

    • Nullable<T> から T? への短縮形の Nullable 型)。

    • 拡張メソッドが静的メソッドとして呼び出される拡張メソッド呼び出しに対する静的メソッド呼び出し。

    • 配列の型をイニシャライザから推定できるとき、暗黙的に型定義された配列作成式にします。

  • 修正点:

    • 型の静的メンバーに、その型の派生メンバーを介してアクセスする出現箇所が発生します。

可能であれば、自動プロパティを使用する 単純なプロパティと対応するバッキングフィールドを自動プロパティで置き換えます。詳細は、自動プロパティを使用するを参照してください。
可能であれば、フィールドを読み取り専用にする 宣言またはコンストラクターで割り当てられ、読み込み用途のみを持つフィールドに 'readonly' キーワードを追加します。詳細は、フィールドを読み取り専用にするを参照してください。
可能であれば、自動プロパティを取得専用にする コンストラクター / 初期化子から初期化され、書き込み使用箇所がない自動プロパティの冗長 set アクセサーを削除します。このタスクは C# 6.0 でのみ機能することに注意してください。デフォルトでは、JetBrains Rider は関連するコンパイラに基づいて C# バージョンを自動的に検出します。ただし、ターゲット C# バージョンを明示的に指定できます。ソリューションエクスプローラーのプロジェクトで Alt+Enter を押し、プロジェクトプロパティダイアログのアプリケーションページで言語バージョンセレクターを使用します。
修飾子の配置 資格のあるタイプメンバーにルールを適用します。ルールは、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで構成可能です。詳細については、コードの構文スタイル : オプションのメンバー限定子を参照してください。
組み込み型参照を修正する 組み込みの型名(C# キーワードまたは CLR 型名)のルールを適用します。ルールは、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで構成可能です。詳細については、コードの構文スタイル : 組み込み型参照を参照してください。
使用箇所

以下の設定可能なオプションが含まれています。

  • 'using' ディレクティブを最適化する
    未使用の名前空間インポートディレクティブを削除し、名前空間インポートディレクティブを並べ替えます。すべての System.* 名前空間が最初に配置され、ドットの後の 2 番目の単語でアルファベット順に並べ替えられます。次に、他のすべてのネームスペースがアルファベット順に表示されます。詳細については、コードの構文スタイル : 名前空間のインポートを参照してください。

  • 領域で 'using' ディレクティブを利用する
    このチェックボックスが選択されている場合、すべての名前空間インポートディレクティブをラップするための新しい領域がクリーンアップ中に作成されます。

  • 領域名
    リージョン折り返し名前空間インポートディレクティブの名前を指定できます。

修飾された参照を短くする 名前空間をインポートし、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | 構文スタイルページで構成された設定を実装することにより、可能であれば完全修飾名を短い名前に置き換えます。
コードの再フォーマット JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# ページで構成できる設定に従って、コードを再フォーマットします。詳細については、コードフォーマットルールの管理と適用を参照してください。
埋め込み XML ドキュメントコメントの再フォーマット JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | XML 文書コメントページで構成可能なオプションに従って、XML doc コメントを再フォーマットします。

JetBrains Rider は次のようなプレーンコメントを再フォーマットしないことに注意してください。
// A plain single-line comment
または
/* A plain multi-line comment */

XAML

空のタグを縮小する タグ本文が空の場合、終了タグを削除します。
冗長な属性を削除する コンテキストで冗長な場合、Freeze , modifiers , name , span , UpdateSourceTrigger , Mode などの属性を削除する
冗長リソースを削除 使用されていないリソース参照を削除する
冗長なプロパティ setter を削除 次のプロパティの未使用の setter を削除します: property , attached , style
冗長なネームスペースエイリアスを削除する クリーンアップのスコープ内のすべての冗長な名前空間エイリアスを削除します。冗長エイリアスもコードインスペクションで検出され、クイックフィックスで削除できます。
冗長な定義を削除する コンテキスト内で冗長である場合、定義を削除する
禁止されている属性を削除する コンテキストで禁止されている場合は、name , span などの属性を削除する

XML

コードの再フォーマット JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | XML ページで構成できる設定に従って、コードを再フォーマットします。詳細については、コードフォーマットルールの管理と適用を参照してください。

VB.NET

コードの冗長性を削除する C# 言語と同じように冗長コードを削除する
'import' ディレクティブを最適化する 未使用の名前空間インポートディレクティブを削除します。
修飾された参照を短くする 名前空間をインポートし、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | VB.NET | 構文スタイルページで構成された設定を実装することにより、可能であれば完全修飾名を短い名前に置き換えます。
コードの再フォーマット JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | VB.NET ページで構成できる設定に従って、コードを再フォーマットします。詳細については、コードフォーマットルールの管理と適用を参照してください。
埋め込み XML ドキュメントコメントの再フォーマット JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | XML 文書コメントページで構成可能なオプションに従って、XML doc コメントを再フォーマットします。

JetBrains Rider は次のようなプレーンコメントを再フォーマットしないことに注意してください。
// A plain single-line comment
または
/* A plain multi-line comment */

CSS

アルファベット順のプロパティ CSS プロパティをアルファベット順に並べ替えます。
コードの再フォーマット JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | CSS ページで構成できる設定に従って、コードを再フォーマットします。詳細については、コードフォーマットルールの管理と適用を参照してください。

JavaScript のような言語

ステートメント終了の適用 JavaScript、TypeScript、および JSON のステートメントの最後にオプションのセミコロン ; を追加します。

JavaScript

文字列リテラルの前後で引用符を正規化する 優先引用スタイルを適用します:一重引用符( ')または二重引用符( ")。設定は、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | TypeScript | 構文スタイルページで構成できます。
可能であれば 'var' を 'let' / 'const' に修正してください

let および const は、以下の場合にサポートされています。

  • JavaScript コードで、ターゲット JavaScript 言語レベルが ECMAScript 6 の場合 (JetBrains Rider 設定 Ctrl+Alt+S言語 & フレームワーク | JavaScript ページで選択できます)

  • TypeScript 1.4 では、プロジェクトプロパティでターゲット ECMAScript 6 が選択されている場合。

  • TypeScript 1.5 以降。

let / const を可能な限り最も内側のスコープに移動する function / compound ステートメントの外側で定義された変数を移動します。外側のスコープに他の使用箇所がない場合は、その使用箇所に近づきます。
文字列の連結をテンプレート文字列に変換する JavaScript コードでは、ターゲット JavaScript 言語レベルが ECMAScript 6(JetBrains Rider 設定 Ctrl+Alt+S言語 & フレームワーク | JavaScript ページで選択できます)の場合、および TypeScript 1.4 以降では、このオプションは文字列連結をテンプレート文字列(英語)に変換します。例:
var str1 = "Hello,"; var str2 = "Test: " + str1 + " World1";
変換されます
const str1 = "Hello, "; const str2 = `Test: ${str1} World1`;
コードの再フォーマット JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | JavaScript ページで構成できる設定に従って、コードを再フォーマットします。詳細については、コードフォーマットルールの管理と適用を参照してください。
埋め込み XML ドキュメントコメントの再フォーマット JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | C# | XML 文書コメントページで構成可能なオプションに従って、XML doc コメントを再フォーマットします。

JetBrains Rider は次のようなプレーンコメントを再フォーマットしないことに注意してください。
// A plain single-line comment
または
/* A plain multi-line comment */

TypeScript

重複修飾子を削除する 冗長タイプ名修飾子を削除するには、このオプションを使用します。
' インポート ' ステートメントを最適化する このオプションを使用して、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | TypeScript | 構文スタイルページで構成可能な設定に従って、冗長な「インポート」ステートメントまたは完全修飾名を削除します。
参照コメントを最適化する 冗長参照コメントを削除するには、このオプションを使用します。
「パブリック」プレゼンスをコードスタイルと同期させる このオプションを使用すると、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | TypeScript | 構文スタイルページで構成可能な設定に従って、明示的な「public」修飾子を追加または削除できます。
必要に応じて明示的な「任意の」型注釈を追加する このオプションを使用すると、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | TypeScript | 構文スタイルページで構成可能な設定に従って、明示的に「任意」の注釈をタイプに追加できます。
タイプ注釈の存在をコードスタイルと同期させる このオプションを使用すると、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | TypeScript | 構文スタイルページで構成可能な設定に従って、明示的 / 暗黙的なタイピングを強制できます。
必要に応じて 'require' に相対パススタイルを修正する require キーワードの相対パスに 'require' の相対ファイル参照スタイルコードスタイル設定を適用します。例: import X = require( "file1") または import X = require(" ./file1 ") この設定は、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | TypeScript | 構文スタイルページで構成できます。
アサーションの代わりに 'as' を使用する 置換
var bar = <string> foo;
with
var bar = foo as string;
これは JSX 構文のあいまいさを避けるために推奨される方法です。

HTML

コードの再フォーマット JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | HTML ページで構成できる設定に従って、コードを再フォーマットします。詳細については、コードフォーマットルールの管理と適用を参照してください。
属性値を引用符で正規化する 優先する引用スタイルを適用します:単一引用符( ')または二重引用符(" )。

ASP.NET

@Register ディレクティブを最適化する 未使用の @Register ディレクティブを削除します。
最終更新日 :

関連ページ:

CleanupCodeコマンドラインツール

CleanupCodeは無料のクロスプラットフォームコマンドラインツールであり、コードクリーンアップを実行して、プロジェクトまたはソリューションのコードスタイル違反を即座に排除し、均一なコードベースを確保できます。CleanupCodeを実行します。ReSharperコマンドラインツールをダウンロー...

ネーミングスタイル

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

コードフォーマットルールの管理と適用

コード | コードの再フォーマットコードスタイルの重要な点は、コードの書式設定方法、つまり、空白と空白行を使用してコードブロックを配置および分離する方法、インデントにタブを使用するかどうか、および使用する方法。JetBrains Rider コードのフォーマットルールの広範なセットには、多数のベ...

構文スタイル

コードスタイルの側面の1つは、互換性のある言語構文構造を使用する方法です。例:以下の2つのメソッド定義は、コンパイラの観点からは同じですが、構文構造の選択により、それらは異なって見えます。 [Conditional("DEBUG")] [Test] static public v...

レイヤーベースの設定

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

コードインスペクション設定の構成

コード注釈を使用して、JetBrains Rider がコードをインスペクションする方法をカスタマイズすることもできます。設計時コードインスペクションを構成する :デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効に...