ReSharper 2019.2ヘルプ

コードのクリーンアップ

ReSharper | オプション | コード編集 | コードのクリーンアップ

このページのReSharperオプションを使用すると、カスタムクリーンアッププロファイルを管理および構成したり、サイレントコードクリーンアップ用のクリーンアッププロファイルを割り当てることができます。2つのデフォルトプロファイル(フルクリーンアップコードスタイルの再フォーマットと適用コードの再フォーマット)もここに示されています。変更することはできませんが、複製して新しいカスタムプロファイルを作成することはできます。

ツールバー・コントロール

選択したクリーンアップ・プロファイルを構成するには、以下のコントロールを使用します。

項目

説明

ThemedIcon CodeCleanupOptionPage Screen Gray デフォルトとして設定

このボタンをクリックして、選択したプロファイルをサイレントクリーンアップに使用します。サイレントクリーンアップに使用されるプロファイルは、ThemedIcon CodeCleanupOptionPage Screen Gray アイコンでマークされています。

ThemedIcon Duplicate Screen Gray 複製

選択したプロファイルのコピーを作成するには、このボタンをクリックします。デフォルト設定の場合は、デフォルトのクリーンアップ・プロファイルの 1つを複製して、カスタム・クリーンアップ・プロファイルを作成する必要があります。新しいプロファイルが作成されるとすぐに、編集モードでクリーンアップタスクのリストを設定できます。

ThemedIcon Behaivior Screen Gray 構成

このボタンをクリックして、選択したカスタムプロファイルの編集モードを有効にします。デフォルトのプロファイル(フルクリーンアップコードスタイルの再フォーマットと適用コードの再フォーマット)は編集できません。

ThemedIcon Edit Screen Gray 名前変更

このボタンをクリックして、選択したカスタムプロファイルの名前を変更します。デフォルトのプロファイル(フルクリーンアップコードスタイルの再フォーマットと適用コードの再フォーマット)は名前を変更できないことに注意してください。

ThemedIcon Remove Screen Gray 除去

このボタンをクリックして、選択したカスタムプロファイルを削除します。デフォルトのプロファイル(フルクリーンアップコードスタイルの再フォーマットと適用コードの再フォーマット)は削除できません。

ThemedIcon Success Screen Gray 終了

このボタンをクリックして編集モードを終了し、選択したプロファイルのプレビューに戻ります。保存をクリックしない限り、変更は適用されないことに注意してください。

選択したプロファイルのコードクリーンアップタスク

これらのタスクは、選択したカスタムクリーンアッププロファイルの編集モード(ThemedIcon Behaivior Screen Gray 構成)を切り替えると構成可能になります。最初はカスタムプロファイルはなく、デフォルトプロファイルのタスクは編集できません。 ThemedIcon Duplicate Screen Gray 複製をクリックして、デフォルトのプロファイルの1つの編集可能なコピーを作成してから、そのタスクを編集できます。

クリーンアップタスク

説明

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

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

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

ReSharperオプションのコード編集 | ファイルヘッダテキストページで設定できるファイルヘッダーコメントを挿入または更新します。詳細は、ファイルヘッダースタイルを参照してください。

コード・スタイル
'var' スタイルを適用

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

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

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

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

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

ソート修飾子

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

引数のスタイルを適用する(named | 位置)

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

冗長なカッコを除去

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

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

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

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

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

アライメント属性

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

コードボディスタイルを適用する

ReSharperオプション(Alt+R,,O)のコード編集 | C# | コード・スタイルページで指定されているように、関数メンバーの本体(式本体|ステートメント本体)に設定を適用します。詳細については、コードの構文スタイル: 関数メンバーの本体を参照してください。

コードの冗長性を削除するReSharperオプション(Alt+R,,O)のコード・インスペクション | インスペクション重大度ページ、ほとんどの言語のコードの冗長性カテゴリーで、ReSharperは、コードインスペクションに関連付けられた50を超える冗長性をリストします。それらの一部は特別な注意が必要であり、バッチモードで処理することはできません。これにより、コードクリーンアップには約30の冗長性が残り、クリーンアッププロファイルでコードの冗長性を削除するを選択するたびに自動的に削除できます。
具体的には、コードのクリーンアップ:
  • 除去:
    • 冗長な空のコンストラクター。

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

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

    • 冗長な型キャスト。

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

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

    • 冗長なブール比較。

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

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

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

    • 冗長な new キーワード。

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

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

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

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

    • 引数型の冗長な指定。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

コンストラクター/イニシャライザから初期化され、書き込み用途がないauto-propertiesの冗長な set アクセサーを削除します。このタスクはC# 6.0に対してのみ機能することに注意してください。デフォルトでは、ReSharperは関連するコンパイラに基づいてC#のバージョンを自動的に検出します。ただし、ターゲットC#のバージョンを明示的に指定することができます - ソリューションエクスプローラーでプロジェクトを右クリックし、コンテキストメニューからプロジェクト項目のプロパティーを編集するを選択してC#言語レベルセレクターを使用します。

修飾子の配置

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

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

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

使用箇所

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

  • 'using' ディレクティブを最適化する
    コード編集 | C# | 名前空間のインポートおよびコード編集 | C# | コード・スタイルオプションページで設定できるルールを実装することによって未使用のネームスペースインポートディレクティブを削除し、ネームスペースインポートディレクティブをソートします。すべての System.* ネームスペースは、ドットの後の2番目の単語でアルファベット順にソートされます。他のすべてのネームスペースは、アルファベット順に続きます。詳細については、コードの構文スタイル: 名前空間のインポートを参照してください。

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

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

修飾された参照を短くする

名前空間をインポートし、ReSharperオプション(Alt+R,,O)のコード編集 | C# | コード・スタイルページで構成された設定を実装することにより、可能であれば完全修飾名を短い名前に置き換えます。

コードの再フォーマット

ReSharperオプション(Alt+R,,O)のコード編集 | C# | コード・スタイルページで構成できる設定に従って、コードを再フォーマットします。詳細については、コードの書式設定ルールの管理と適用を参照してください。

埋め込みXMLドキュメントコメントの再フォーマットReSharperオプション(Alt+R,,O)のコード編集 | XML文書コメント | スタイルの書式設定ページで構成可能なオプションに従って、XML docコメントを再フォーマットします。

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

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

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

HTML
コードの再フォーマット

ReSharperオプション(Alt+R,,O)のコード編集 | HTML | コード・スタイルページで構成できる設定に従って、コードを再フォーマットします。詳細については、コードの書式設定ルールの管理と適用を参照してください。

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

優先引用符スタイルを適用します。一重引用符( ')または二重引用符( ")は、ReSharperオプションのコード編集 | HTML | コード・スタイルページで設定できます。

Javascript / Typescript
ステートメントを終了する

JavaScript文をセミコロンで終了します。

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

優先引用スタイルを適用します:一重引用符( ')または二重引用符( ")。設定は、ReSharperオプション(Alt+R,,O)のコード編集 | TypeScript | コード・スタイルページで構成できます。詳細については、引用スタイルを参照してください。

可能であれば 'var' を 'let' / 'const' に修正してくださいlet および const は、以下の場合にサポートされています。
  • JavaScriptコードで、ターゲットJavaScript言語レベルがECMAScript 6の場合(ReSharperオプション(Alt+R,,O)のコード編集 | JavaScript | インスペクションページで選択できます)

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

  • TypeScript 1.5以上。

ブロックスコープ変数を可能な限りの内部スコープに移動する

外部スコープに他の用途がない場合、関数/複合ステートメントなどの外部で定義された変数をその使用箇所に近づけます。

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

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

var str1 = "Hello,"; var str2 = "Test: " + str1 + " World1";
変換されます
const str1 = "Hello, "; const str2 = `Test: ${str1} World1`;

コードの再フォーマット

ReSharperオプション(Alt+R,,O)のコード編集 | JavaScript | コード・スタイルページで構成できる設定に従って、コードを再フォーマットします。詳細については、コードの書式設定ルールの管理と適用を参照してください。

埋め込みXMLドキュメントコメントの再フォーマットReSharperオプション(Alt+R,,O)のコード編集 | XML文書コメント | スタイルの書式設定ページで構成可能なオプションに従って、XML docコメントを再フォーマットします。

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

TypeScript特異的
重複修飾子を削除する

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

'インポート'ステートメントを最適化する

このオプションを使用して、ReSharperオプション(Alt+R,,O)のコード編集 | TypeScript | インスペクションページで構成可能な設定に従って、冗長な「インポート」ステートメントまたは完全修飾名を削除します。

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

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

「パブリック」プレゼンスをコードスタイルと同期させる

このオプションにより、ReSharperオプション(Alt+R,,O)のコード編集 | TypeScript | インスペクションページで構成可能な設定に従って、明示的な「public」修飾子を追加または削除できます。

必要に応じて明示的な「任意の」型注釈を追加する

このオプションを使用すると、ReSharperオプション(Alt+R,,O)のコード編集 | TypeScript | インスペクションページで構成可能な設定に従って、明示的に「任意」の注釈をタイプに追加できます。

タイプ注釈の存在をコードスタイルと同期させる

このオプションにより、ReSharperオプション(Alt+R,,O)のコード編集 | TypeScript | インスペクションページで構成可能な設定に従って、明示的/暗黙的なタイピングを強制できます。

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

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

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

置換

var bar = <string> foo;
with
var bar = foo as string;
これはJSX構文のあいまいさを避けるために推奨される方法です。

XAML
空のタグを縮小する

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

XML
コードの再フォーマット

ReSharperオプション(Alt+R,,O)のコード編集 | XML | コード・スタイルページで構成できる設定に従って、コードを再フォーマットします。詳細については、コードの書式設定ルールの管理と適用を参照してください。

C++
C++コードスタイルとコードの冗長性
  • 上書きする関数に 'override' 指定子を追加する

  • 必須の 'typename' および 'template' キーワードを追加してください

  • インクルードファイルパスのスラッシュを修正

  • 宣言と代入を結合する

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

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

  • 冗長な 'else' キーワードを除去

  • 冗長メンバー初期化子を削除する

  • 冗長なカッコを除去

  • 重複修飾子を削除する

  • 余分な指定子を削除する

  • 重複した文を削除する

  • 重複した 'typename' と 'template' キーワードを削除する

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

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

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

  • ifステートメントを定数条件で 'if constexpr'に置き換えます

  • 接尾辞演算子を接頭辞バリアントで置き換える

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

  • 可能であれば、throw式をrethrowに置き換えてください。

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

  • メンバー初期化子を初期化の順にソートする

Clang-tidy修正を適用する

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

ReSharperオプション(Alt+R,,O)のコード・インスペクション | インスペクション重大度ページで対応するインスペクションがオフになっている場合でも、選択された修正が適用されます。一度に多くのチェックを有効にする場合は注意してください。コードクリーンアップは、指定されたファイルに対してClang-Tidyを1回だけ実行します。

コードの再フォーマット

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

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

ReSharperオプションのコード編集 | ファイルヘッダテキストページで設定できるファイルヘッダーコメントを挿入または更新します。詳細は、ファイルヘッダースタイルを参照してください。

Visual Basic .NET
コードの冗長性を削除する

C#言語と同じように冗長コードを削除する

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

ReSharperオプションのコード編集| Visual Basic .NET |名前空間のインポートページで設定されたルールを実装する、未使用の名前空間インポートディレクティブを削除します。

修飾された参照を短くする

名前空間をインポートし、ReSharperオプション(Alt+R,,O)のコード編集| VB.NET | インスペクションページで構成された設定を実装することにより、可能であれば完全修飾名を短い名前に置き換えます。

コードの再フォーマット

ReSharperオプション(Alt+R,,O)のコード編集| VB.NET |コードスタイルページで構成できる設定に従って、コードを再フォーマットします。詳細については、コードの書式設定ルールの管理と適用を参照してください。

埋め込みXMLドキュメントコメントの再フォーマットReSharperオプション(Alt+R,,O)のコード編集 | XML文書コメント | スタイルの書式設定ページで構成可能なオプションに従って、XML docコメントを再フォーマットします。

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

CSS
アルファベット順のプロパティー

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

コードの再フォーマット

ReSharperオプション(Alt+R,,O)のコード編集 | CSS | コード・スタイルページで構成できる設定に従って、コードを再フォーマットします。詳細については、コードの書式設定ルールの管理と適用を参照してください。

最終更新日: 2019年8月16日

関連事項

関連ページ:

コードのクリーンアップ

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

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

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

コードクリーンアップダイアログ

コードのクリーンアップダイアログを使用すると、利用可能なコードクリーンアッププロファイルを使用して、選択した範囲内のコードをクリーンアップし たり、カスタムクリーンアッププロファイルを作成および編集したりできます。このダイアログでクリーンアッププロファイルを作成または変更した場合、その変更はスマート...

ファイルとタイプのレイアウト

ReSharperは、さまざまなパターンに従って、C#ファイルのタイプとメンバーを並べ替えることができます。パターンは、ファイル内のアイテムを並べ替えたり、指定されたリージョンでラッピングしたりするときに評価される多くの条件と制約を記述することができます。ファイルレイアウトの設定は、レイヤーベースの...

コードの構文スタイル: 暗黙的/明示的な型指定 ('var' キーワード)

C# 3.0で導入された暗黙的に型指定されたローカル変数(キーワードとも呼ばれる)を使用することは、多くのシナリオで読みやすさを向上させるため、非常に普及しています。デフォルトでは、ReSharperはキーワードの使用も推奨しますが、その使用方法の設定は柔軟に設定可能です。たとえば、特定の場合やあら...

コードの構文スタイル: 修飾子

型および型メンバーのC#修飾子は、任意の順序で記述できます。ただし、コード全体で同様の方法で配置することは、コードの可読性を向上させるための良い方法です。また、との修飾子を明示的に使用したり使用したりしたくない場合もあります。ReSharperを使用すると、宣言またはコンストラクター内で割り当てられ...