コードのクリーンアップ
ReSharper を使うと、 フォーマットやその他のコードスタイル環境設定を一括モードで適用し、1 つ以上のファイル、プロジェクト、ソリューション全体でコードスタイル違反を即座に解消できます。
コードクリーンアッププロファイル
コードのクリーンアップには、ニーズに応じてさまざまな場合に適用できるさまざまな設定(プロファイル)があります。 提供時の状態で使用可能な 3 つのデフォルトプロファイルがあります。
コードのフォーマットのみを適用する ビルトイン: コードの整形
コードのフォーマットと コードの構文スタイルを適用する ビルトイン: 再フォーマットして構文スタイルを適用。
ビルトイン: フルクリーンアップは 利用可能なすべてのクリーンアップタスクを適用しますが、 ファイルヘッダーの更新は除きます。
これらのプロファイルはほとんどの場合に役立ちますが、構成することはできません。 カスタム クリーンアップタスクのセットを使用してコードクリーンアップを実行する場合は、カスタムプロファイルを作成し、そこで必要なタスクのセットを指定する必要があります。
新しいカスタムクリーンアッププロファイルを作成する
メインメニューから を選択するか、 Alt+R O を押します。
クリーンアッププロファイル設定ページに移動します: 。
左側の既存のプロファイルの 1 つを選択し、ページの上部にある 複製 をクリックします。 ReSharper は、元のプロファイルと同じ一連のタスクで新しいクリーンアッププロファイルを作成します。
プロファイルのリストで新しく作成したプロファイルを選択します。
ページの上部にある 構成 をクリックします。
選択したプロファイルの タスクが右側で編集可能になります。 必要に応じて設定します。
変更を保存する前に他のプロファイルを作成または編集する場合は、ページの上部にある 完了 をクリックして、現在のプロファイルの変更を一時的に覚えておいてください。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
新しく作成したクリーンアッププロファイルは、 コードのクリーンアップを実行する際にコードのクリーンアップダイアログで利用できます。 このプロファイルを サイレントクリーンアップにも使用するよう設定できます。
異なるクリーンアッププロファイルを同時に使用する
ReSharper では、 ソリューション内のほとんどのファイルに対して特定のコードのクリーンアッププロファイルを使用し、一部のファイルには異なるコードのクリーンアッププロファイルを使用できます。 また、特定のファイルに対してクリーンアップを完全にスキップすることもできます。
これを行うには、次の構文で resharper_substitution_for_cleanup_profile EditorConfig プロパティを使用します。
この構文では、コードのクリーンアップを特定のプロファイルで開始する場合は、そのプロファイル名を => の左に指定し、任意のプロファイルで開始する場合は => の左に * を記述できます。 使用するプロファイル名は => の右側に指定し、該当するファイルにコードのクリーンアップを適用しない場合は skip を記述します。
コードクリーンアップの実行
ReSharper は、任意に選択したコードブロック、現在のファイルのすべてのコード、ディレクトリ内のすべてのファイル、現在のプロジェクト、ソリューション全体にコードのクリーンアップを適用できます。 適切な クリーンアッププロファイルを選択して、適切な クリーンアップタスクのセットを選んでいることを確認してください。
選択範囲またはファイルをクリーンアップする
コードをクリーンアップするスコープを選択します。
エディターで選択して、選択範囲内のコードをクリーンアップします。
ファイル内のコードをクリーンアップするには、ファイル内の任意の場所にキャレットを置きます。
選択範囲をクリーンアップする場合は、 Alt+Enter を押して を選択します。
あるいは、選択とファイルの両方に機能する以下の手順に従うこともできます。
次のいずれかを実行します。
Control+Alt+F を押すか、メインメニューから を選択してください。
テキストエディターの任意の場所を右クリックするか、選択項目を右クリックし、コンテキストメニューで コードのクリーンアップ を選択します。
開いたコードのクリーンアップダイアログで、適用する クリーンアッププロファイルを選択します。 選択したプロファイルの右側の領域を使用して、そのプロファイルに含まれるタスクを確認します。
使用可能なプロファイルがどれも適切でない場合は、既存のプロファイルの 1 つを選択し、 複製 をクリックして 新しいカスタムプロファイルを作成します。
このダイアログでクリーンアッププロファイルを作成または変更すると、変更内容は スマート保存ロジックを使用して保存されることに注意してください。 変更を 共有設定レイヤーへ保存する必要がある場合、ReSharper オプションの ページで変更を加え、 保存先 をクリックし、保存先となる設定レイヤーを選択してください。

実行 をクリックして、選択したスコープのコードをクリーンアップします。
デフォルトでは、エディターで開かれたファイルはクリーンアップ後に自動的に保存されません。 クリーンアップ後に自動保存を有効化したい場合は、ReSharper オプション の ページで 「ファイル全体にクリーンアップを適用した後で保存する」 を選択してください Alt+R、O 。
個々のファイルだけでなく、ディレクトリ、プロジェクト、ソリューション全体の複数のファイルもクリーンアップできます。 これを行うには、 ソリューションエクスプローラー からコードクリーンアップを実行します。
複数のファイル、プロジェクト、ソリューション全体をクリーンアップする
ソリューションエクスプローラー で 1 つまたは複数の項目(ファイル、ディレクトリ、プロジェクト、ソリューション)を選択します。
次のいずれかを実行します。
Control+Alt+F を押すか、メインメニューから を選択してください。
選択範囲を右クリックし、コンテキストメニューで コードのクリーンアップ を選択します。
上記のようにクリーンアッププロファイルを選択します。
実行 をクリックして、選択したスコープのコードをクリーンアップします。
変更をファイルに保存するたびにコードクリーンアップを実行して、編集内容が常にコードスタイルに準拠していることを確認できます。
変更の保存時にコードクリーンアップを自動的に実行する
メインメニューから を選択するか、 Alt+R O を押します。
クリーンアッププロファイル設定ページに移動します: 。
保存時に適用する コードのクリーンアッププロファイルを選択し、 デフォルトに設定する をクリックします(デフォルトプロファイルは サイレントクリーンアップにも使用されます)。
オプションページに移動し、 ファイル保存時にクリーンアップを自動的に実行する を選択します。
オプションで、ファイルマスクによって特定のファイルへの自動クリーンアップを制限できます。
ファイルの変更された部分のみ を選択して、変更によって影響を受けるコードにクリーンアップが適用され、ファイル内の残りのコードが変更されないようにすることもできます。
ファイルの変更された部分のみをクリーンアップすることを選択した場合は、次のオプションを使用してこの動作を微調整できます。
部分的なクリーンアップが不可能な場合は完全なクリーンアップを実行する — このオプションに応じて、ReSharper はファイル全体をクリーンアップするか、ファイルの変更部分のみのクリーンアップができない場合は対象ファイルをスキップします。
共有ファイル保存時のクリーンアップを許可する — このオプションを使用して、共有プロジェクトのファイルなど、ソリューションに複数回含まれるファイルの部分的なクリーンアップを有効または無効にします。
ダイアログで 保存 をクリックして変更を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定の設定レイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
次回編集を終了してファイル( Ctrl+S )またはすべてのファイル( Ctrl+Shift+S )を保存すると、ReSharper は選択したプロファイルで対象ファイルをクリーンアップします。 デフォルトのクリーンアッププロファイルが選択されていない場合、ReSharper はプロファイルのいずれかを選択するよう促します。
最近開いたまたは変更したファイルでコードのクリーンアップを実行することもできます。
最近変更されたファイルをクリーンアップする
ReSharper | 編集 | 最近のファイルをクリーンアップ のサブメニューを展開します。
開いているすべてのファイルに対してクリーンアップを実行するか、最近変更したすべてのファイルに対してクリーンアップを実行するかを選択します。
クリーンアップ ... アクションではクリーンアッププロファイルの選択を求められ、 サイレントクリーンアップ ... アクションでは ページのReSharper オプション Alt+R、O で選択されたデフォルトのクリーンアッププロファイルが使用されます。
最近変更されたファイルをクリーンアップする場合、ReSharper は過去 7 日間に編集されたソリューション内のすべてのファイルに選択したクリーンアッププロファイルを適用します。
ReSharper オプション の ページで、最近とみなす日数を変更できます Alt+R、O 。
ファイルの変更された部分のみ を選択して、変更によって影響を受けるコードにクリーンアップが適用され、ファイル内の残りのコードが変更されないようにすることもできます。
サイレントクリーンアップ
また、コードのクリーンアップはサイレントモードでも実行できます。つまり、コードのクリーンアップダイアログを表示せずに実行できます。 この場合、プロファイルを明示的に選択できないため、サイレントコードのクリーンアップ用プロファイルを設定する必要があります。
サイレントコードクリーンアップ用のプロファイルを割り当てる
メインメニューから を選択するか、 Alt+R O を押します。
クリーンアッププロファイル設定ページに移動します: 。
左側でクリーンアッププロファイルを選択し、オプションページの上部にある デフォルトに設定する をクリックします。
オプション ダイアログで 保存 をクリックして変更内容を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定のレイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。
サイレントモードでコードのクリーンアップを実行する
次のいずれかを実行します。
特定のコードファイルでサイレントコードクリーンアップを実行するには、テキストエディターで開くか、 ソリューションエクスプローラー で選択します。
ファイルセット(ディレクトリ、プロジェクト、ソリューション)にサイレントコードクリーンアップを適用するには、 ソリューションエクスプローラー で対応する項目を選択します。
Control+Shift+Alt+F を押すか、メインメニューから を選択してください。 あるいは、 Control+Shift+A を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。
利用可能なコードクリーンアップタスク
以下の表に、さまざまな言語で使用可能なクリーンアップタスクを示します。 これらのタスクの一部のみを実行するためにクリーンアップが必要な場合は、その ためのカスタムクリーンアッププロファイルを作成できます。
コードの整形
C# | |
コードの整形 | ReSharper オプション の ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。 |
埋め込み XML ドキュメントコメントを整形する | ReSharper オプション の ページで構成可能なオプションに従い、XML ドキュメント コメントを再フォーマットします。 ReSharper では次のようなプレーン コメントは整形されません: // A plain single-line comment
または /* A plain multi-line comment */
|
C++ | |
コードの整形 | ReSharper オプション の ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。 |
Visual Basic | |
コードの整形 | ReSharper オプション の ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。 |
埋め込み XML ドキュメントコメントを整形する | ReSharper オプション の ページで構成可能なオプションに従い、XML ドキュメント コメントを再フォーマットします。 ReSharper では次のようなプレーン コメントは整形されません: // A plain single-line comment
または /* A plain multi-line comment */
|
XML | |
コードの整形 | ReSharper オプション の ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。 |
HTML | |
コードの整形 | ReSharper オプション の ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。 |
CSS | |
コードの整形 | ReSharper オプション の ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。 |
Javascript/Typescript | |
コードの整形 | ReSharper オプション の ページで構成できる環境設定に従ってコードを再フォーマットします。 詳細については、 フォーマットルールを適用する を参照してください。 |
埋め込み XML ドキュメントコメントを整形する | ReSharper オプション の ページで構成可能なオプションに従い、XML ドキュメント コメントを再フォーマットします。 ReSharper では次のようなプレーン コメントは整形されません: // A plain single-line comment
または /* A plain multi-line comment */
|
構文スタイル
C# | |
'var' スタイルを適用する | クリーンアップ中に 'var' 用のルールを適用します。 ReSharper オプション の ページで構成可能なルールです Alt+R、O 。 |
型には明示的または暗黙的な修飾子定義を使用する | 型修飾子のルールを適用します - |
型メンバーには明示的または暗黙的な修飾子定義を使用する | 型メンバー修飾子のルールを適用します ( |
修飾子の並べ替え | 型 / メンバー修飾子の優先順序を適用します。 このルールは、ReSharper オプション の ページで構成できます Alt+R、O 。 詳細については、 コードの構文スタイル: 修飾子 を参照してください。 |
引数スタイルを適用する(名前付き vs. 位置) | 特定の型のパラメーターの名前付き / 位置引数の設定を適用します。 この環境設定は、ReSharper オプション の ページで構成できます Alt+R、O 。 詳細については、 コードの構文スタイル: 名前付き / 位置引数 を参照してください。 |
冗長な丸括弧を削除 | ReSharper オプション の ページで指定された場合、冗長なオプションの丸括弧を削除します Alt+R、O 。 詳細については、 コードの構文スタイル: オプションの括弧 を参照してください。 |
オペレーションの優先順位を明示的に指定するために丸括弧を追加する | ReSharper オプション の ページで指定された場合、演算の優先順位を明確にするためにオプションの丸括弧を追加します Alt+R、O 。 詳細については、 コードの構文スタイル: オプションの括弧 を参照してください。 |
シングルステートメントの周囲に波括弧を追加 / 削除する | ReSharper オプション の ページで指定されている場合、単一のネストされたステートメントの前後にオプションの中括弧を追加または削除します Alt+R、O 。 詳細については、 コードの構文スタイル: 1 つのネストされた文に対する波括弧 を参照してください。 |
属性の括弧を追加 / 削除する | ReSharper オプション の ページで指定されている場合、複数の属性に関するルールを適用します Alt+R、O 。 詳細については、 コードの構文スタイル: 複数の属性 を参照してください。 |
コード本体スタイルを適用する(式本体 vs. ブロック本体) | ReSharper オプション の ページで指定されている場合、型メンバー本体(式本体またはブロック本体)の環境設定を適用します Alt+R、O 。 詳細については、 コード構文スタイル: タイプメンバーのボディ を参照してください。 |
末尾のコンマを配置する | ReSharper オプション の ページで指定されている場合、複数の要素と同様の構造(オブジェクト・配列・コレクション イニシャライザー、列挙型、switch 式等)の宣言における末尾コンマの環境設定を適用します Alt+R、O 。 詳細については、 コードの構文スタイル: 末尾のコンマ を参照してください。 |
オブジェクト作成スタイルを適用します(「new()」と「新しい T()」) | ReSharper オプション の ページで指定されている場合、C# 9.0 以降でターゲット型 |
デフォルト値スタイルを適用します('default' vs'default(T) ') | ReSharper オプション の ページで指定されている場合、デフォルト値式でオプションの型指定を使用するための環境設定を適用します Alt+R、O 。 詳細については、 コードの構文スタイル: デフォルト値の式('default' と 'default(T)') を参照してください。 |
名前空間を配置する(ファイルスコープとブロックスコープ) | ReSharper オプション の ページで指定されている単一の名前空間ファイルにおいて、 ファイルスコープの名前空間宣言を使用する環境設定を適用します Alt+R、O 。 詳細については、「コード構文スタイル: ファイルスコープの名前空間 」を参照してください。 |
null チェックパターンスタイルをアレンジする | ReSharper オプション の ページで指定されている場合、 型テスト 'is' 演算子 ( |
修飾子を配置する | 型メンバーを修飾するためのルールを適用します。 ReSharper オプション の ページで構成可能なルールです Alt+R、O 。 詳細については、 コードの構文スタイル: オプションのメンバー限定子 を参照してください。 |
組み込み型参照を修正する | 組み込み型名 (C# キーワードまたは CLR 型名) の規則を適用します。 このルールは、ReSharper オプション の ページで構成できます Alt+R、O 。 詳細については、 コードの構文スタイル: 組み込み型参照 を参照してください。 |
C/C++ | |
単一ステートメントの中括弧を追加 / 削除する |
|
'auto' スタイルを適用する | ReSharper オプション の ページで指定されている場合、変数型で |
関数宣言スタイルを適用する(通常の戻り値の型 vs. 後続の戻り値の型) | ReSharper オプション の Alt+R、O ページで指定されている場合、関数宣言における末尾または通常の戻り値の型の推奨スタイルを適用します 。 |
ネストされた名前空間スタイルを適用する | C++17 の入れ子名前空間構文を強制するルールを適用します。これにより複数階層の名前空間宣言が簡潔になります。 このルールは、ReSharper オプション の ページで構成できます Alt+R、O 。 |
型エイリアススタイルを適用する(typedef と type エイリアス) | ReSharper オプション の Alt+R、O ページで指定されている場合、型シノニムの推奨定義方法を適用します 。 |
cv 修飾子を配置する | cv 修飾子の優先順序を適用します。 |
include ディレクティブのスラッシュ(スラッシュ vs. バックスラッシュ)を整える | ReSharper オプション の ページで指定されている場合、 |
オーバーライド関数の指定子('virtual' および / または 'override')を並べる | オーバーライド関数やデストラクターで必要な指定子など、オーバーライド関数の推奨スタイルを適用します。 ReSharper オプション の ページで構成可能なルールです Alt+R、O 。 |
インクルードディレクティブの並べ替え |
|
メンバーイニシャライザーをソートする。 | ReSharper オプション の Alt+R、O ページで指定されているコンストラクター イニシャライザー リスト順に従って、メンバー イニシャライザーの順序を適用します 。 |
XAML | |
空のタグを折りたたむ | タグ本文が空の場合、終了タグを削除します。 |
HTML | |
属性値の引用符を正規化する | 一重引用符 |
Javascript/Typescript | |
文字列リテラルの引用符を正規化する | 一重引用符 |
ステートメント終了を適用する | JavaScript、TypeScript、JSON のステートメントの最後にオプションのセミコロン |
TypeScript 固有 | |
"public" の有無をコードスタイルと同期させる | このオプションを使用すると、ReSharper オプション の ページで構成可能な設定に従い、明示的な「public」修飾子を追加または削除できます Alt+R、O 。 |
必要に応じて明示的な「any」型アノテーションを追加する | このオプションを使用すると、ReSharper オプション の ページで構成可能な設定に従い、明示的な「any」アノテーションを型に追加できます Alt+R、O 。 |
型アノテーションの有無をコードスタイルと同期する | このオプションを使用すると、ReSharper オプション の ページで構成可能な設定に従い、明示的または暗黙的な型指定を強制できます Alt+R、O 。 |
必要に応じて 'require' の相対パススタイルを修正する |
|
型アサーションの代わりに 'as' を使用する | 置き換え var bar = <string> foo;
with var bar = foo as string;
これは JSX 構文とのあいまいさを回避する推奨方法です。 |
インポートの最適化
C# | |
'using' ディレクティブを最適化する。 |
詳細については、 コードの構文スタイル: 名前空間のインポート を参照してください。 |
領域で 'using' ディレクティブを活用する。 | このチェックボックスが選択されている場合、すべてのネームスペースインポートディレクティブをラップするための新しい領域がクリーンアップ中に作成されます。 |
領域名 | 名前空間インポートディレクティブをラップする領域の名前を指定することを許可します。 |
修飾された参照を短縮 | ReSharper オプション の ページで設定された環境設定に従い、名前空間をインポートすることで、可能な場合は完全修飾名を短い名前に置き換えます Alt+R、O |
Visual Basic | |
'import' ディレクティブを最適化する |
詳細については、 コードの構文スタイル: 名前空間のインポート を参照してください。 |
領域で 'using' ディレクティブを活用する。 | このチェックボックスが選択されている場合、すべてのネームスペースインポートディレクティブをラップするための新しい領域がクリーンアップ中に作成されます。 |
領域名 | 名前空間インポートディレクティブをラップする領域の名前を指定することを許可します。 |
修飾された参照を短縮 | ReSharper オプション の ページで設定された環境設定に従い、名前空間をインポートすることで、可能な場合は完全修飾名を短い名前に置き換えます Alt+R、O |
XAML | |
冗長な名前空間エイリアスを削除する | クリーンアップのスコープ内のすべての冗長な名前空間エイリアスを削除します。 冗長エイリアスも コードインスペクションで検出され、クイックフィックスで削除できます。 |
TypeScript 固有 | |
「import」ステートメントを最適化する | このオプションを使用すると、ReSharper オプション の ページで構成可能な設定に従い、冗長な「import」ステートメントまたは完全修飾名を削除できます Alt+R、O 。 |
参照コメントを最適化する | 冗長参照コメントを削除するには、このオプションを使用します。 |
ASP.NET | |
@Register ディレクティブを最適化する | 未使用の |
コードの再配置
C# | |
ファイルレイアウトを適用する | ReSharper オプション の ページで設定可能なルールに従って、ファイル内の型メンバーを並べ替えます Alt+R、O 。 詳細については、 ファイルとタイプのレイアウトパターンでメンバーを再配置する を参照してください。 |
CSS | |
プロパティをアルファベット順に並べる | CSS プロパティをアルファベット順に並べ替えます。 |
冗長性を取り除き、最適化を適用する
C# | |
コードの冗長性を削除する | ReSharper オプション の ページでは、ほとんどの言語の コードの冗長性 カテゴリで ReSharper は関連コード インスペクションがある事例を数十件リストアップします Alt+R、O 。 これらの中には特別な注意が必要なケースもあり、バッチモードで処理することはできませんが、クリーンアッププロファイルで コードの冗長性を削除する を選択すると、そのほとんどは自動的に修正されます。 |
可能であれば自動プロパティを使用する。 | 単純なプロパティと対応するバッキングフィールドを自動プロパティに置き換えます。 詳細については、 自動プロパティを使用する を参照してください。 |
可能であれば、フィールドを読み取り専用にする | 宣言またはコンストラクターで割り当てられ、読み取り専用のフィールドに |
可能であれば自動プロパティを取得専用にする。 | コンストラクター / イニシャライザーから初期化され、書き込みの使用がない自動プロパティの冗長な ReSharper は、プロジェクトファイル *.csproj で指定された C# バージョンを自動的に検出して使用します。 バージョンを変更するには、エディターでプロジェクトファイルを開き、 ソリューション内のすべてのプロジェクトの C# バージョンを設定するには、ソリューションディレクトリ内の Directory.Build.props ファイルで指定し、 こちらに記載の手順に従います。 .csproj ファイルで定義された言語バージョンは、 Directory.Build.props ファイルで指定されたバージョンを上書きすることに注意してください。 |
C/C++ | |
必須の 'typename' および 'template' キーワードを追加する | 欠落していた |
宣言と代入を結合する | ローカル変数が読み取られる前にすべてのパスで再割り当てされる場合の宣言と割り当てを結合します。 |
ローカル変数を const にする | 不変にできるローカルスコープ内のオブジェクトに |
可能であれば、メンバー関数を 'const' にする | 含まれているオブジェクトの状態を変更しないメンバー関数に |
可能であれば、メンバー関数を静的にする | メンバー関数を |
冗長なキャストを削除する | 冗長なキャスト式を削除します。 |
冗長な 'else' キーワードを削除する | コンテキスト内で冗長な |
冗長な詳細な型指定子を削除する | 新しいクラスの宣言に使用されない場合、またはよりローカルな非型宣言によって隠された以前に宣言された構造体を参照するために使用されていない場合、冗長な詳細型指定子を削除します。 |
冗長なラムダパラメーターリストを削除する | パラメーターのないラムダ内の冗長な |
冗長なメンバーイニシャライザーを削除する | 対応するデフォルトのメンバー初期化子を複製するコンストラクター内のメンバー初期化子を削除します。 |
冗長な丸括弧を削除 | コンテキスト内で冗長な括弧を削除します。 |
冗長な修飾子を削除する | コンテキスト内で冗長な修飾子を削除します。 |
冗長な指定子を削除する | コンテキスト内で冗長な指定子を削除します。 |
冗長なステートメントを削除する | コンテキスト内で冗長なステートメントを削除します。 |
冗長なテンプレート引数を削除する | C++17 クラステンプレート引数推論ルールに従って言語によって推論できる冗長なテンプレート引数を削除します。 |
冗長な 'typename' および 'template' キーワードを削除する | コンテキスト内で冗長な |
到達不能コードを削除する | 決して実行されない不要なコードを削除します。 |
未使用の #include ディレクティブを削除する | 使用されていない |
未使用のラムダキャプチャーを削除する | ローカル変数がラムダによってキャプチャーされたがラムダ本体内で使用されていない場合、未使用のキャプチャーを削除します。 |
C 形式および関数形式のキャストを静的キャストに置き換える | C スタイルのキャスト、 |
ブール値コンテキスト内の定数をブールリテラルに置き換える | ブール値コンテキストで整数定数を |
定数条件を持つ if ステートメントを 'if constexpr' に置き換える | 条件がコンパイル時の定数式の場合、 |
後置演算子を前置バリアントに置き換える | 後置演算子をその接頭辞のバリアントに置き換えます。 |
スマートポインターコンストラクターを make 関数に置き換える | スマートポインターコンストラクターを標準 ( |
可能であれば、throw 式を rethrow に置き換える |
|
型トレイトを対応するテンプレートエイリアスまたは変数テンプレートに置き換える | C++14 エイリアステンプレートを使用して C++11 タイプのトレイト式を短縮します。 |
ポインターコンテキスト内のゼロ値式を nullptr に置き換える | ポインターコンテキストでゼロ定数を |
'tie(..)' を構造化バインディング宣言に置き換える | 構造化バインディング宣言を持つタプルまたはペアをアンパックするための |
可能な場合は、連想コンテナーに「contains」を使用する |
|
remove-erase イディオムの代わりに、「std::erase」/「std::eraseif」を使用する | 古い消去削除イディオムを、STL コンテナーから要素を消去するための C++20 |
Visual Basic | |
コードの冗長性を削除する | ReSharper オプション の ページでは、ほとんどの言語の コードの冗長性 カテゴリで ReSharper は関連コード インスペクションがある事例を数十件リストアップします Alt+R、O 。 これらの中には特別な注意が必要なケースもあり、バッチモードで処理することはできませんが、クリーンアッププロファイルで コードの冗長性を削除する を選択すると、そのほとんどは自動的に修正されます。 |
XAML | |
冗長な "Freeze" 属性を削除する | コンテキストで冗長な |
冗長な修飾子属性を削除します | コンテキストで冗長な |
冗長な名前属性を削除します | コンテキストで冗長な |
冗長なリソースを削除 | 使用されていないリソース参照を削除します |
冗長な空のコレクションプロパティ setter を削除します | |
冗長な添付プロパティ setter を削除 |
|
冗長なスタイルプロパティ setter を削除します |
|
禁止されている名前属性を削除する | コンテキストで許可されていない |
冗長な定義を削除する | コンテキスト内で冗長である場合、定義を削除します。 |
冗長な UpdateSourceTrigger 属性を削除する | コンテキストで冗長な |
冗長な Mode 属性を削除する | コンテキストで冗長な |
冗長なスパン属性を削除します | コンテキストで冗長な |
Javascript/Typescript | |
可能であれば 'var' を 'let' / 'const' に修正する |
|
let/const を可能な限り最も内側のスコープに移動する | 関数や複合ステートメントなどの外で定義された変数について、外部スコープに他の使用箇所がなければ、その使用箇所の近くに移動します。 |
文字列の連結をテンプレート文字列に変換する | JavaScript コードでターゲット JavaScript 言語レベルが ECMAScript 6(ReSharper オプション の ページで選択できます 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 オプション の ページまたは |
C/C++ | |
ファイルヘッダーを更新する | ReSharper オプション の ページまたは |
外部クリーンアップツールを実行する
C/C++ | |
Clang-tidy 修正を適用する | このノードでは、 Clang-Tidy チェックに従って適用されるすべての修正または特定の修正を選択できます。 選択した修正は、ReSharper オプション の ページで対応するインスペクションがオフになっていても適用されます Alt+R、O 。 一度に多くのチェックを有効化しすぎるとご注意ください。コードのクリーンアップは該当ファイルごとに 1 回だけ Clang-Tidy を実行します。そのため複数の修正が同じコードブロックに触れる場合、変更が競合する可能性があります。 |