ReSharper 2026.1 Help

コードのクリーンアップ

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

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

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

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

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

  1. メインメニューから ReSharper | オプション を選択するか、 Alt+R O を押します。

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

  3. 左側の既存のプロファイルの 1 つを選択し、ページの上部にある 複製 をクリックします。 ReSharper は、元のプロファイルと同じ一連のタスクで新しいクリーンアッププロファイルを作成します。

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

  5. ページの上部にある 構成 をクリックします。

  6. 選択したプロファイルの タスクが右側で編集可能になります。 必要に応じて設定します。

  7. 変更を保存する前に他のプロファイルを作成または編集する場合は、ページの上部にある 完了 をクリックして、現在のプロファイルの変更を一時的に覚えておいてください。

  8. オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。

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

異なるクリーンアッププロファイルを同時に使用する

ReSharper では、 ソリューション内のほとんどのファイルに対して特定のコードのクリーンアッププロファイルを使用し、一部のファイルには異なるコードのクリーンアッププロファイルを使用できます。 また、特定のファイルに対してクリーンアップを完全にスキップすることもできます。

これを行うには、次の構文で resharper_substitution_for_cleanup_profile EditorConfig プロパティを使用します。

[reformatIfRunWithFullCleanup.cs] resharper_substitution_for_cleanup_profile.anysuffix=Built-in:Full Cleanup => Built-in: Reformat Code [alwaysReformat.cs] resharper_substitution_for_cleanup_profile=* = > Built-in:Reformat Code [skipIfRunWithFullCleanup.cs] resharper_substitution_for_cleanup_profile=Built-in:Full Cleanup => skip [skipCleanup.cs] resharper_substitution_for_cleanup_profile=* => skip

この構文では、コードのクリーンアップを特定のプロファイルで開始する場合は、そのプロファイル名を => の左に指定し、任意のプロファイルで開始する場合は => の左に * を記述できます。 使用するプロファイル名は => の右側に指定し、該当するファイルにコードのクリーンアップを適用しない場合は skip を記述します。

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

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

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

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

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

    • ファイル内のコードをクリーンアップするには、ファイル内の任意の場所にキャレットを置きます。

  2. 選択範囲をクリーンアップする場合は、 Alt+Enter を押して 再フォーマットとクリーンアップ | [cleanup profile] を選択します。

    あるいは、選択とファイルの両方に機能する以下の手順に従うこともできます。

  3. 次のいずれかを実行します。

    • Control+Alt+F を押すか、メインメニューから ReSharper | 編集| コードのクリーンアップ… を選択してください。

    • テキストエディターの任意の場所を右クリックするか、選択項目を右クリックし、コンテキストメニューで コードのクリーンアップ を選択します。

  4. 開いたコードのクリーンアップダイアログで、適用する クリーンアッププロファイルを選択します。 選択したプロファイルの右側の領域を使用して、そのプロファイルに含まれるタスクを確認します。

  5. 使用可能なプロファイルがどれも適切でない場合は、既存のプロファイルの 1 つを選択し、 複製 をクリックして 新しいカスタムプロファイルを作成します。

    このダイアログでクリーンアッププロファイルを作成または変更すると、変更内容は スマート保存ロジックを使用して保存されることに注意してください。 変更を 共有設定レイヤーへ保存する必要がある場合、ReSharper オプションの コード編集 | コードのクリーンアップ ページで変更を加え、 保存先 をクリックし、保存先となる設定レイヤーを選択してください。

    ReSharper。 コードのクリーンアップダイアログ
  6. 実行 をクリックして、選択したスコープのコードをクリーンアップします。

  7. デフォルトでは、エディターで開かれたファイルはクリーンアップ後に自動的に保存されません。 クリーンアップ後に自動保存を有効化したい場合は、ReSharper オプション の コード編集 | コードのクリーンアップ | 一般 ページで 「ファイル全体にクリーンアップを適用した後で保存する」 を選択してください Alt+R、O

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

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

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

  2. 次のいずれかを実行します。

    • Control+Alt+F を押すか、メインメニューから ReSharper | 編集| コードのクリーンアップ… を選択してください。

    • 選択範囲を右クリックし、コンテキストメニューで コードのクリーンアップ を選択します。

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

  4. 実行 をクリックして、選択したスコープのコードをクリーンアップします。

変更をファイルに保存するたびにコードクリーンアップを実行して、編集内容が常にコードスタイルに準拠していることを確認できます。

変更の保存時にコードクリーンアップを自動的に実行する

  1. メインメニューから ReSharper | オプション を選択するか、 Alt+R O を押します。

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

  3. 保存時に適用する コードのクリーンアッププロファイルを選択し、 デフォルトに設定する をクリックします(デフォルトプロファイルは サイレントクリーンアップにも使用されます)。

  4. コード編集 | コードのクリーンアップ | 一般 オプションページに移動し、 ファイル保存時にクリーンアップを自動的に実行する を選択します。

    オプションで、ファイルマスクによって特定のファイルへの自動クリーンアップを制限できます。

    ファイルの変更された部分のみ を選択して、変更によって影響を受けるコードにクリーンアップが適用され、ファイル内の残りのコードが変更されないようにすることもできます。

    ファイルの変更された部分のみをクリーンアップすることを選択した場合は、次のオプションを使用してこの動作を微調整できます。

    • 部分的なクリーンアップが不可能な場合は完全なクリーンアップを実行する — このオプションに応じて、ReSharper はファイル全体をクリーンアップするか、ファイルの変更部分のみのクリーンアップができない場合は対象ファイルをスキップします。

    • 共有ファイル保存時のクリーンアップを許可する — このオプションを使用して、共有プロジェクトのファイルなど、ソリューションに複数回含まれるファイルの部分的なクリーンアップを有効または無効にします。

  5. ダイアログで 保存 をクリックして変更を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定の設定レイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。

  6. 次回編集を終了してファイル( Ctrl+S​ )またはすべてのファイル( Ctrl+Shift+S​ )を保存すると、ReSharper は選択したプロファイルで対象ファイルをクリーンアップします。 デフォルトのクリーンアッププロファイルが選択されていない場合、ReSharper はプロファイルのいずれかを選択するよう促します。

最近開いたまたは変更したファイルでコードのクリーンアップを実行することもできます。

最近変更されたファイルをクリーンアップする

  1. ReSharper | 編集 | 最近のファイルをクリーンアップ のサブメニューを展開します。

  2. 開いているすべてのファイルに対してクリーンアップを実行するか、最近変更したすべてのファイルに対してクリーンアップを実行するかを選択します。

    クリーンアップ ... アクションではクリーンアッププロファイルの選択を求められ、 サイレントクリーンアップ ... アクションでは コード編集 | コードのクリーンアップ | プロファイル ページのReSharper オプション Alt+R、O で選択されたデフォルトのクリーンアッププロファイルが使用されます。

  3. 最近変更されたファイルをクリーンアップする場合、ReSharper は過去 7 日間に編集されたソリューション内のすべてのファイルに選択したクリーンアッププロファイルを適用します。

    ReSharper オプション の コード編集 | コードのクリーンアップ | 一般 ページで、最近とみなす日数を変更できます Alt+R、O

    ファイルの変更された部分のみ を選択して、変更によって影響を受けるコードにクリーンアップが適用され、ファイル内の残りのコードが変更されないようにすることもできます。

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

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

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

  1. メインメニューから ReSharper | オプション を選択するか、 Alt+R O を押します。

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

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

  4. オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。

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

  1. 次のいずれかを実行します。

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

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

  2. Control+Shift+Alt+F を押すか、メインメニューから ReSharper | 編集| サイレントクリーンアップコード を選択してください。 あるいは、 Control+Shift+A を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。

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

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

コードの整形

C#

コードの整形

ReSharper オプション の コード編集 | C# | スタイルのフォーマット ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。

埋め込み XML ドキュメントコメントを整形する

ReSharper オプション の コード編集 | XML 文書コメント | スタイルのフォーマット ページで構成可能なオプションに従い、XML ドキュメント コメントを再フォーマットします。

ReSharper では次のようなプレーン コメントは整形されません:

// A plain single-line comment

または

/* A plain multi-line comment */

C++

コードの整形

ReSharper オプション の コード編集 | C++ | スタイルのフォーマット ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。

Visual Basic

コードの整形

ReSharper オプション の コード編集 | Visual Basic | スタイルのフォーマット ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。

埋め込み XML ドキュメントコメントを整形する

ReSharper オプション の コード編集 | XML 文書コメント | スタイルのフォーマット ページで構成可能なオプションに従い、XML ドキュメント コメントを再フォーマットします。

ReSharper では次のようなプレーン コメントは整形されません:

// A plain single-line comment

または

/* A plain multi-line comment */

XML

コードの整形

ReSharper オプション の コード編集 | XML | スタイルのフォーマット ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。

HTML

コードの整形

ReSharper オプション の コード編集 | HTML | スタイルのフォーマット ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。

CSS

コードの整形

ReSharper オプション の コード編集 | CSS | スタイルのフォーマット ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。

Javascript/Typescript

コードの整形

ReSharper オプション の コード編集 | Javascript/Typescript | スタイルのフォーマット ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。

埋め込み XML ドキュメントコメントを整形する

ReSharper オプション の コード編集 | XML 文書コメント | スタイルのフォーマット ページで構成可能なオプションに従い、XML ドキュメント コメントを再フォーマットします。

ReSharper では次のようなプレーン コメントは整形されません:

// A plain single-line comment

または

/* A plain multi-line comment */

構文スタイル

C#

'var' スタイルを適用する

クリーンアップ中に 'var' 用のルールを適用します。 ReSharper オプション の コード編集 | C# | 構文スタイル ページで構成可能なルールです Alt+R、O

型には明示的または暗黙的な修飾子定義を使用する

型修飾子のルールを適用します - internal 修飾子を明示的に使用するかどうか。 このルールは、ReSharper オプション の コード編集 | C# | 構文スタイル ページで構成できます Alt+R、O 。 詳細については、「コードの構文スタイル: 修飾子 」を参照してください。

型メンバーには明示的または暗黙的な修飾子定義を使用する

型メンバー修飾子のルールを適用します (private 修飾子を明示的に使用するかどうか)。 このルールは、ReSharper オプション の コード編集 | C# | 構文スタイル ページで構成できます Alt+R、O 。 詳細については、「コードの構文スタイル: 修飾子 」を参照してください。

修飾子の並べ替え

型 / メンバー修飾子の優先順序を適用します。 このルールは、ReSharper オプション の コード編集 | C# | 構文スタイル ページで構成できます Alt+R、O 。 詳細については、 コードの構文スタイル: 修飾子 を参照してください。

引数スタイルを適用する(名前付き vs. 位置)

特定の型のパラメーターの名前付き / 位置引数の設定を適用します。 この環境設定は、ReSharper オプション の コード編集 | C# | 構文スタイル ページで構成できます Alt+R、O 。 詳細については、 コードの構文スタイル: 名前付き / 位置引数 を参照してください。

冗長な丸括弧を削除

ReSharper オプション の コード編集 | C# | 構文スタイル ページで指定された場合、冗長なオプションの丸括弧を削除します Alt+R、O 。 詳細については、 コードの構文スタイル: オプションの括弧 を参照してください。

オペレーションの優先順位を明示的に指定するために丸括弧を追加する

ReSharper オプション の コード編集 | C# | 構文スタイル ページで指定された場合、演算の優先順位を明確にするためにオプションの丸括弧を追加します Alt+R、O 。 詳細については、 コードの構文スタイル: オプションの括弧 を参照してください。

シングルステートメントの周囲に波括弧を追加 / 削除する

ReSharper オプション の コード編集 | C# | 構文スタイル ページで指定されている場合、単一のネストされたステートメントの前後にオプションの中括弧を追加または削除します Alt+R、O 。 詳細については、 コードの構文スタイル: 1 つのネストされた文に対する波括弧 を参照してください。

属性の括弧を追加 / 削除する

ReSharper オプション の コード編集 | C# | 構文スタイル ページで指定されている場合、複数の属性に関するルールを適用します Alt+R、O 。 詳細については、 コードの構文スタイル: 複数の属性 を参照してください。

コード本体スタイルを適用する(式本体 vs. ブロック本体)

ReSharper オプション の コード編集 | C# | 構文スタイル ページで指定されている場合、型メンバー本体(式本体またはブロック本体)の環境設定を適用します Alt+R、O 。 詳細については、 コード構文スタイル: タイプメンバーのボディ を参照してください。

末尾のコンマを配置する

ReSharper オプション の コード編集 | C# | 構文スタイル ページで指定されている場合、複数の要素と同様の構造(オブジェクト・配列・コレクション イニシャライザー、列挙型、switch 式等)の宣言における末尾コンマの環境設定を適用します Alt+R、O 。 詳細については、 コードの構文スタイル: 末尾のコンマ を参照してください。

オブジェクト作成スタイルを適用します(「new()」と「新しい T()」)

ReSharper オプション の コード編集 | C# | 構文スタイル ページで指定されている場合、C# 9.0 以降でターゲット型 new 演算子を使用するための環境設定を適用します Alt+R、O 。 詳細については、「コードの構文スタイル: オブジェクトの作成(「new()」と「新しい T()」) 」を参照してください。

デフォルト値スタイルを適用します('default' vs'default(T) ')

ReSharper オプション の コード編集 | C# | 構文スタイル ページで指定されている場合、デフォルト値式でオプションの型指定を使用するための環境設定を適用します Alt+R、O 。 詳細については、 コードの構文スタイル: デフォルト値の式('default' と 'default(T)') を参照してください。

名前空間を配置する(ファイルスコープとブロックスコープ)

ReSharper オプション の コード編集 | C# | 構文スタイル ページで指定されている単一の名前空間ファイルにおいて、 ファイルスコープの名前空間宣言を使用する環境設定を適用します Alt+R、O 。 詳細については、「コード構文スタイル: ファイルスコープの名前空間 」を参照してください。

null チェックパターンスタイルをアレンジする

ReSharper オプション の コード編集 | C# | 構文スタイル ページで指定されている場合、 型テスト 'is' 演算子not null または { } を使用)で null チェックを行う推奨手法を適用します Alt+R、O 。 詳細については、 コードの構文スタイル: null チェックパターン を参照してください。

修飾子を配置する

型メンバーを修飾するためのルールを適用します。 ReSharper オプション の コード編集 | C# | 構文スタイル ページで構成可能なルールです Alt+R、O 。 詳細については、 コードの構文スタイル: オプションのメンバー限定子 を参照してください。

組み込み型参照を修正する

組み込み型名 (C# キーワードまたは CLR 型名) の規則を適用します。 このルールは、ReSharper オプション の コード編集 | C# | 構文スタイル ページで構成できます Alt+R、O 。 詳細については、 コードの構文スタイル: 組み込み型参照 を参照してください。

C/C++

単一ステートメントの中括弧を追加 / 削除する

if ステートメントの単一のネストされたステートメントとさまざまな種類のループステートメントを囲む中括弧の設定を適用します。 ReSharper オプション の コード編集 | C++ | 構文スタイル ページで構成可能なルールです Alt+R、O

'auto' スタイルを適用する

ReSharper オプション の コード編集 | C++ | 構文スタイル ページで指定されている場合、変数型で auto 指定子を使用するための環境設定を適用します Alt+R、O

関数宣言スタイルを適用する(通常の戻り値の型 vs. 後続の戻り値の型)

ReSharper オプション の Alt+R、O ページで指定されている場合、関数宣言における末尾または通常の戻り値の型の推奨スタイルを適用します コード編集 | C++ | 構文スタイル

ネストされた名前空間スタイルを適用する

C++17 の入れ子名前空間構文を強制するルールを適用します。これにより複数階層の名前空間宣言が簡潔になります。 このルールは、ReSharper オプション の コード編集 | C++ | 構文スタイル ページで構成できます Alt+R、O

型エイリアススタイルを適用する(typedef と type エイリアス)

ReSharper オプション の Alt+R、O ページで指定されている場合、型シノニムの推奨定義方法を適用します コード編集 | C++ | 構文スタイル

cv 修飾子を配置する

cv 修飾子の優先順序を適用します。 const キーワードを型の前または後ろに置くか、 constvolatile のどちらを先にするかを指定します。 ReSharper オプション の コード編集 | C++ | 構文スタイル ページでルールを構成できます Alt+R、O

include ディレクティブのスラッシュ(スラッシュ vs. バックスラッシュ)を整える

ReSharper オプション の コード編集 | C++ | 構文スタイル ページで指定されている場合、 #include ディレクティブのパス区切り文字の推奨スタイルを適用します Alt+R、O

オーバーライド関数の指定子('virtual' および / または 'override')を並べる

オーバーライド関数やデストラクターで必要な指定子など、オーバーライド関数の推奨スタイルを適用します。 ReSharper オプション の コード編集 | C++ | 構文スタイル ページで構成可能なルールです Alt+R、O

インクルードディレクティブの並べ替え

#include ディレクティブの並べ替えと再グループ化のルールを適用します。 ReSharper オプション の コード編集 | C++ | #include の順序 ページで必要な順序を設定できます Alt+R、O 。 詳細については、「インクルードのソート 」を参照してください。

メンバーイニシャライザーをソートする。

ReSharper オプション の Alt+R、O ページで指定されているコンストラクター イニシャライザー リスト順に従って、メンバー イニシャライザーの順序を適用します コード編集 | C++ | 構文スタイル

XAML

空のタグを折りたたむ

タグ本文が空の場合、終了タグを削除します。

HTML

属性値の引用符を正規化する

一重引用符 ' または二重引用符 " の推奨引用符スタイルを適用します。これは ReSharper オプション の コード編集 | HTML | 構文スタイル ページで設定可能です Alt+R、O

Javascript/Typescript

文字列リテラルの引用符を正規化する

一重引用符 ' または二重引用符 " の推奨引用符スタイルを適用します。これは ReSharper オプション の コード編集 | Javascript/Typescript | 構文スタイル ページで設定可能です Alt+R、O 。 詳細については、「引用スタイル 」を参照してください。

ステートメント終了を適用する

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

TypeScript 固有

"public" の有無をコードスタイルと同期させる

このオプションを使用すると、ReSharper オプション の コード編集 | TypeScript | 構文スタイル ページで構成可能な設定に従い、明示的な「public」修飾子を追加または削除できます Alt+R、O

必要に応じて明示的な「any」型アノテーションを追加する

このオプションを使用すると、ReSharper オプション の コード編集 | TypeScript | 構文スタイル ページで構成可能な設定に従い、明示的な「any」アノテーションを型に追加できます Alt+R、O

型アノテーションの有無をコードスタイルと同期する

このオプションを使用すると、ReSharper オプション の コード編集 | TypeScript | 構文スタイル ページで構成可能な設定に従い、明示的または暗黙的な型指定を強制できます Alt+R、O

必要に応じて 'require' の相対パススタイルを修正する

require コードスタイルの環境設定に従い、 'require' の相対ファイル参照スタイル キーワードの相対パスについて適用されます。 例: import X = require("file1") または import X = require("./file1")。 ReSharper オプション の コード編集 | TypeScript | 構文スタイル ページでこの環境設定を構成できます Alt+R、O

型アサーションの代わりに 'as' を使用する

置き換え

var bar = <string> foo;

with

var bar = foo as string;

これは JSX 構文とのあいまいさを回避する推奨方法です。

インポートの最適化

C#

'using' ディレクティブを最適化する。

  • ReSharper オプション の コード編集 | C# | 名前空間のインポート ページで構成できるルールを実行し、未使用の名前空間インポートディレクティブを削除します Alt+R、O

  • コード編集 | C# | 構文スタイル および コード編集 | タイプインポート オプション ページで指定されている場合、型をインポートするときに名前空間インポートディレクティブと完全修飾名を整理するための環境設定を適用します。

  • 名前空間インポートディレクティブを並べ替えます。すべての System.* 名前空間が最初に来て、ドットの後の 2 番目の単語でアルファベット順に並べられ、その後他の名前空間もアルファベット順に並べられます。 .

詳細については、 コードの構文スタイル: 名前空間のインポート を参照してください。

領域で 'using' ディレクティブを活用する。

このチェックボックスが選択されている場合、すべてのネームスペースインポートディレクティブをラップするための新しい領域がクリーンアップ中に作成されます。

領域名

名前空間インポートディレクティブをラップする領域の名前を指定することを許可します。

修飾された参照を短縮

ReSharper オプション の コード編集 | C# | 構文スタイル ページで設定された環境設定に従い、名前空間をインポートすることで、可能な場合は完全修飾名を短い名前に置き換えます Alt+R、O

Visual Basic

'import' ディレクティブを最適化する

  • ReSharper オプション の コード編集 | Visual Basic | 名前空間のインポート ページで構成できるルールを実行し、未使用の名前空間インポートディレクティブを削除します Alt+R、O

  • コード編集 | Visual Basic | 構文スタイル および コード編集 | タイプインポート オプション ページで指定されている場合、型をインポートするときに名前空間インポートディレクティブと完全修飾名を整理するための環境設定を適用します。

  • 名前空間インポートディレクティブを並べ替えます。すべての System.* 名前空間が最初に来て、ドットの後の 2 番目の単語でアルファベット順に並べられ、その後他の名前空間もアルファベット順に並べられます。 .

詳細については、 コードの構文スタイル: 名前空間のインポート を参照してください。

領域で 'using' ディレクティブを活用する。

このチェックボックスが選択されている場合、すべてのネームスペースインポートディレクティブをラップするための新しい領域がクリーンアップ中に作成されます。

領域名

名前空間インポートディレクティブをラップする領域の名前を指定することを許可します。

修飾された参照を短縮

ReSharper オプション の コード編集 | Visual Basic | 構文スタイル ページで設定された環境設定に従い、名前空間をインポートすることで、可能な場合は完全修飾名を短い名前に置き換えます Alt+R、O

XAML

冗長な名前空間エイリアスを削除する

クリーンアップのスコープ内のすべての冗長な名前空間エイリアスを削除します。 冗長エイリアスも コードインスペクションで検出され、クイックフィックスで削除できます。

TypeScript 固有

「import」ステートメントを最適化する

このオプションを使用すると、ReSharper オプション の コード編集 | TypeScript | 構文スタイル ページで構成可能な設定に従い、冗長な「import」ステートメントまたは完全修飾名を削除できます Alt+R、O

参照コメントを最適化する

冗長参照コメントを削除するには、このオプションを使用します。

ASP.NET

@Register ディレクティブを最適化する

未使用の @Register ディレクティブを削除します。

コードの再配置

C#

ファイルレイアウトを適用する

ReSharper オプション の コード編集 | C# | ファイルレイアウト ページで設定可能なルールに従って、ファイル内の型メンバーを並べ替えます Alt+R、O 。 詳細については、 ファイルとタイプのレイアウトパターンでメンバーを再配置する を参照してください。

CSS

プロパティをアルファベット順に並べる

CSS プロパティをアルファベット順に並べ替えます。

冗長性を取り除き、最適化を適用する

C#

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

ReSharper オプション の コードインスペクション | インスペクション重大度 ページでは、ほとんどの言語の コードの冗長性 カテゴリで ReSharper は関連コード インスペクションがある事例を数十件リストアップします Alt+R、O 。 これらの中には特別な注意が必要なケースもあり、バッチモードで処理することはできませんが、クリーンアッププロファイルで コードの冗長性を削除する を選択すると、そのほとんどは自動的に修正されます。

可能であれば自動プロパティを使用する。

単純なプロパティと対応するバッキングフィールドを自動プロパティに置き換えます。 詳細については、 自動プロパティを使用する を参照してください。

可能であれば、フィールドを読み取り専用にする

宣言またはコンストラクターで割り当てられ、読み取り専用のフィールドに readonly キーワードを追加します。 詳細については、 フィールドを読み取り専用にする を参照してください。

可能であれば自動プロパティを取得専用にする。

コンストラクター / イニシャライザーから初期化され、書き込みの使用がない自動プロパティの冗長な set アクセサーを削除します。

ReSharper は、プロジェクトファイル *.csproj で指定された C# バージョンを自動的に検出して使用します。

バージョンを変更するには、エディターでプロジェクトファイルを開き、 <LangVersion> 属性を変更します。

ソリューション内のすべてのプロジェクトの C# バージョンを設定するには、ソリューションディレクトリ内の Directory.Build.props ファイルで指定し、 こちらに記載の手順に従います。 .csproj ファイルで定義された言語バージョンは、 Directory.Build.props ファイルで指定されたバージョンを上書きすることに注意してください。

C/C++

必須の 'typename' および 'template' キーワードを追加する

欠落していた typename および template キーワードを追加します。

宣言と代入を結合する

ローカル変数が読み取られる前にすべてのパスで再割り当てされる場合の宣言と割り当てを結合します。

ローカル変数を const にする

不変にできるローカルスコープ内のオブジェクトに const を追加します。

可能であれば、メンバー関数を 'const' にする

含まれているオブジェクトの状態を変更しないメンバー関数に const を追加します。

可能であれば、メンバー関数を静的にする

メンバー関数を static にします。

冗長なキャストを削除する

冗長なキャスト式を削除します。

冗長な 'else' キーワードを削除する

コンテキスト内で冗長な else キーワードを削除します。

冗長な詳細な型指定子を削除する

新しいクラスの宣言に使用されない場合、またはよりローカルな非型宣言によって隠された以前に宣言された構造体を参照するために使用されていない場合、冗長な詳細型指定子を削除します。

冗長なラムダパラメーターリストを削除する

パラメーターのないラムダ内の冗長な () を削除します。

冗長なメンバーイニシャライザーを削除する

対応するデフォルトのメンバー初期化子を複製するコンストラクター内のメンバー初期化子を削除します。

冗長な丸括弧を削除

コンテキスト内で冗長な括弧を削除します。

冗長な修飾子を削除する

コンテキスト内で冗長な修飾子を削除します。

冗長な指定子を削除する

コンテキスト内で冗長な指定子を削除します。

冗長なステートメントを削除する

コンテキスト内で冗長なステートメントを削除します。

冗長なテンプレート引数を削除する

C++17 クラステンプレート引数推論ルールに従って言語によって推論できる冗長なテンプレート引数を削除します。

冗長な 'typename' および 'template' キーワードを削除する

コンテキスト内で冗長な typename および template キーワードを削除します。

到達不能コードを削除する

決して実行されない不要なコードを削除します。

未使用の #include ディレクティブを削除する

使用されていない #include ディレクティブを削除します。

未使用のラムダキャプチャーを削除する

ローカル変数がラムダによってキャプチャーされたがラムダ本体内で使用されていない場合、未使用のキャプチャーを削除します。

C 形式および関数形式のキャストを静的キャストに置き換える

C スタイルのキャスト、 reinterpret_cast 、関数型のキャストを static_cast に置き換えます。

ブール値コンテキスト内の定数をブールリテラルに置き換える

ブール値コンテキストで整数定数を true/false に置き換えます。

定数条件を持つ if ステートメントを 'if constexpr' に置き換える

条件がコンパイル時の定数式の場合、 if ステートメントを if constexpr に置き換えます。

後置演算子を前置バリアントに置き換える

後置演算子をその接頭辞のバリアントに置き換えます。

スマートポインターコンストラクターを make 関数に置き換える

スマートポインターコンストラクターを標準 (make_unique/make_shared) または Unreal 固有 (MakeShared/MakeUnique) のスマートポインター作成関数に置き換えます。

可能であれば、throw 式を rethrow に置き換える

throw 式を更新して、 catch ブロックで処理できない例外をキャッチしたときに再スローします。

型トレイトを対応するテンプレートエイリアスまたは変数テンプレートに置き換える

C++14 エイリアステンプレートを使用して C++11 タイプのトレイト式を短縮します。

ポインターコンテキスト内のゼロ値式を nullptr に置き換える

ポインターコンテキストでゼロ定数を nullptr に置き換えます。

'tie(..)' を構造化バインディング宣言に置き換える

構造化バインディング宣言を持つタプルまたはペアをアンパックするための std::tie() または boost::tie() を置き換えます。

可能な場合は、連想コンテナーに「contains」を使用する

find または count を C++20 contains 関数に置き換えます。

remove-erase イディオムの代わりに、「std::erase」/「std::eraseif」を使用する

古い消去削除イディオムを、STL コンテナーから要素を消去するための C++20 std::erase または std::erase_if ライブラリ関数に置き換えます。

Visual Basic

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

ReSharper オプション の コードインスペクション | インスペクション重大度 ページでは、ほとんどの言語の コードの冗長性 カテゴリで ReSharper は関連コード インスペクションがある事例を数十件リストアップします Alt+R、O 。 これらの中には特別な注意が必要なケースもあり、バッチモードで処理することはできませんが、クリーンアッププロファイルで コードの冗長性を削除する を選択すると、そのほとんどは自動的に修正されます。

XAML

冗長な "Freeze" 属性を削除する

コンテキストで冗長な Freeze 属性を削除します。

冗長な修飾子属性を削除します

コンテキストで冗長な modifiers 属性を削除します。

冗長な名前属性を削除します

コンテキストで冗長な name 属性を削除します。

冗長なリソースを削除

使用されていないリソース参照を削除します

冗長な空のコレクションプロパティ setter を削除します

冗長な添付プロパティ setter を削除

attached プロパティの未使用の setter を削除します。

冗長なスタイルプロパティ setter を削除します

style プロパティの未使用の setter を削除します。

禁止されている名前属性を削除する

コンテキストで許可されていない name 属性を削除します。

冗長な定義を削除する

コンテキスト内で冗長である場合、定義を削除します。

冗長な UpdateSourceTrigger 属性を削除する

コンテキストで冗長な UpdateSourceTrigger 属性を削除します。

冗長な Mode 属性を削除する

コンテキストで冗長な Mode 属性を削除します。

冗長なスパン属性を削除します

コンテキストで冗長な span 属性を削除します。

Javascript/Typescript

可能であれば 'var' を 'let' / 'const' に修正する

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

  • JavaScript コードで、ターゲット JavaScript 言語レベルが ECMAScript 6 の場合(ReSharper オプション の コード編集 | JavaScript | インスペクション ページで選択できます Alt+R、O

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

  • TypeScript 1.5 以降。

let/const を可能な限り最も内側のスコープに移動する

関数や複合ステートメントなどの外で定義された変数について、外部スコープに他の使用箇所がなければ、その使用箇所の近くに移動します。

文字列の連結をテンプレート文字列に変換する

JavaScript コードでターゲット JavaScript 言語レベルが ECMAScript 6(ReSharper オプション の コード編集 | JavaScript | インスペクション ページで選択できます Alt+R、O )または TypeScript 1.4 以降の場合、このオプションでは文字列連結を テンプレート文字列に変換します。 たとえば、次のようになります。

var str1 = "Hello,"; var str2 = "Test: " + str1 + " World1";

次のように変換されます

const str1 = "Hello, "; const str2 = `Test: ${str1} World1`;

TypeScript 固有

冗長な修飾子を削除する

冗長タイプ名修飾子を削除するには、このオプションを使用します。

C#

ファイルヘッダーを更新する

ReSharper オプション の コード編集 | ファイルヘッダーテキスト ページまたは file_header_template EditorConfig プロパティで構成可能なファイル ヘッダーコメントを挿入または更新します Alt+R、O 。 詳細については、 ファイルヘッダースタイル を参照してください。

C/C++

ファイルヘッダーを更新する

ReSharper オプション の コード編集 | ファイルヘッダーテキスト ページまたは file_header_template EditorConfig プロパティで構成可能なファイル ヘッダーコメントを挿入または更新します Alt+R、O 。 詳細については、 ファイルヘッダースタイル を参照してください。

外部クリーンアップツールを実行する

C/C++

Clang-tidy 修正を適用する

このノードでは、 Clang-Tidy チェックに従って適用されるすべての修正または特定の修正を選択できます。

選択した修正は、ReSharper オプション の コードインスペクション | インスペクション重大度 ページで対応するインスペクションがオフになっていても適用されます Alt+R、O 。 一度に多くのチェックを有効化しすぎるとご注意ください。コードのクリーンアップは該当ファイルごとに 1 回だけ Clang-Tidy を実行します。そのため複数の修正が同じコードブロックに触れる場合、変更が競合する可能性があります。

2026 年 6 月 12 日