ReSharper 2018.2ヘルプ

コードのクリーンアップ

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

This page of ReSharper options allows you to manage and configure custom cleanup profiles, as well as to assign a cleanup profile for the silent code cleanup. The two default profiles ( フルクリーンアップ and コードの再フォーマット ) are also shown here. You cannot modify modify them, but you can clone them to make new custom profiles.

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

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

項目

説明

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

Click this button to use the selected profile for silent cleanup. The profile used for silent cleanup is marked with the ThemedIcon CodeCleanupOptionPage Screen Gray icon.

ThemedIcon Duplicate Screen Gray 複製

Click this button to create a copy of the selected profile. If you have default settings, you will need to duplicate one of the default cleanup profiles to create a custom cleanup profile. As soon as a new profile is created, it opens in the editing mode, where you can configure the list of cleanup tasks.

ThemedIcon Behaivior Screen Gray 構成

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

ThemedIcon Edit Screen Gray 名前変更

選択したカスタムプロファイルの名前を変更するには、このボタンをクリックします。デフォルトプロファイル(フルクリーンアップおよびコードの再フォーマット)の名前は変更できません。

ThemedIcon Remove Screen Gray 除去

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

ThemedIcon Success Screen Gray 終了

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

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

These tasks become configurable when you switch the editing mode ( ThemedIcon Behaivior Screen Gray 構成 ) for the selected custom cleanup profile. Initially, there are no custom profiles and tasks of the default profiles cannot be edited. You can click ThemedIcon Duplicate Screen Gray 複製 to create an editable copy of one of the default profiles and then edit its tasks.

クリーンアップタスク

説明

C#

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

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

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

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

コード・スタイル

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

internal 修飾子を明示的に使用しないかどうかにかかわらず、型修飾子の規則を適用します。このルールはReSharperオプションのコード編集 | C# | コード・スタイルページで設定できます。詳細は、コードの構文スタイル: 修飾子を参照してください。

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

private 修飾子を明示的に使用しないかどうかにかかわらず、型メンバー修飾子のルールを適用します。このルールはReSharperオプションのコード編集 | C# | コード・スタイルページで設定できます。詳細は、コードの構文スタイル: 修飾子を参照してください。

ソート修飾子

type / member修飾子の優先順位を適用します。このルールはReSharperオプションのコード編集 | C# | コード・スタイルページで設定できます。詳細は、コードの構文スタイル: 修飾子を参照してください。

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

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

冗長なカッコを除去

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

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

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

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

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

アライメント属性

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

'var'キーワードの使用設定を強制する

クリーンアップ中に'var'用のルールを適用します。このルールは、ReSharperオプションのコード編集 | C# | コード・スタイルページで設定できます。

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

ReSharperオプションのコード・インスペクション | インスペクション重大度ページには、ほとんどの言語のコードの冗長性カテゴリに、コードインスペクションが関連付けられた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でのみ有効です。デフォルトでは、ReSharperは関連するコンパイラに基づいてC#のバージョンを自動的に検出します。ただし、ターゲットC#のバージョンを明示的に指定することはできません。ソリューションエクスプローラでプロジェクトを右クリックし、コンテキストメニューからプロジェクト項目のプロパティを編集するを選択し、C#言語レベルセレクタを使用します。

修飾子の配置

修飾型メンバーの規則を適用します。このルールは、ReSharperオプションのコード編集 | C# | コード・スタイルページで設定できます。詳細は、コードの構文スタイル: オプションのメンバー限定子を参照してください。

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

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

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

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

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

  • 領域名
    地域ラッピング名前空間インポートディレクティブの名前を指定できます。

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

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

コードの再フォーマット

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

埋め込みXMLドキュメントコメントの再フォーマット

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

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

ASP.NET

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

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

HTML

コードの再フォーマット

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

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

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

JavaScript / TypeScript

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

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

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

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

可能であれば 'var'を 'let' / 'const'に修正してください

let および const は、以下の場合にサポートされています。
  • JavaScriptコードでは、ターゲットのJavaScript言語レベルがECMAScript 6(ReSharperオプションのコード編集 | JavaScript | インスペクションページで選択できます)

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

  • TypeScript 1.5以上。

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

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

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

In JavaScript code, if the target JavaScript language level is ECMAScript 6 (you can choose it on the コード編集 | JavaScript | インスペクション page of ReSharper options ), as well as in TypeScript 1.4 or above, this option will convert string concatenations to template strings(英語). For example:

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

コードの再フォーマット

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

埋め込みXMLドキュメントコメントの再フォーマット

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

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

TypeScript特異的

重複修飾子を削除する

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

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

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

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

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

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

このオプションを使用すると、ReSharperオプションのコード編集 | TypeScript | インスペクションページで設定可能な設定に従って、明示的な「public」修飾子を追加または削除できます。

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

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

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

このオプションを使用すると、ReSharperオプションのコード編集 | TypeScript | インスペクションページで設定可能な設定に従って、明示的/暗黙的なタイプを適用できます。

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

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

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

置換

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

XAML

空のタグを縮小する

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

XML

コードの再フォーマット

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

C++

コードの冗長性

  • 上書きする関数に 'override'指定子を追加する

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

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

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

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

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

  • 重複修飾子を削除する

  • 重複した文を削除する

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

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

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

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

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

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

Clang-tidy修正を適用する

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

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

コードの再フォーマット

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

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

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

Visual Basic .NET

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

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

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

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

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

名前空間をインポートし、ReSharperオプションのコード編集| VB.NET | インスペクションページで設定された設定を実装することによって、可能な限り短い名前で完全修飾名を置き換えます。

コードの再フォーマット

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

埋め込みXMLドキュメントコメントの再フォーマット

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

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

CSS

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

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

コードの再フォーマット

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

最終更新日: 2018年11月28日

関連事項