ReSharper 2024.1 ヘルプ

スコープを修正

ほとんどのクイックフィックスは、キャレットで現在の問題を修正できますが、中には (たとえば、未使用のディレクティブを削除するフィールドを読み取り専用にする冗長なキャストの除去など)、現在のファイル、現在のプロジェクト、ソリューション全体など、より大きな範囲で問題を自動的に見つけて修正できるものもあります。

範囲内の修正を適用する

このような修正は、アクションリストの横に表示される小さな矢印で識別できます。

Scalable quick-fix

範囲内の修正を適用する

  1. ReSharper のインスペクションでハイライトされているコードの問題にキャレットを置きます。

  2. Alt+Enter を押すか、キャレットの左側にあるアクションインジケーターをクリックして、アクションリストを開きます。

  3. 適用するクイックフィックスを選択します。

  4. クイックフィックスの右側の矢印をクリックするか、右矢印キーを押して、使用可能なスコープのリストを展開します。クイックフィックスの右側に矢印がない場合、このクイックフィックスはローカルにのみ適用されます。

  5. 適用するクイックフィックスのスコープを選択してクリックするか、Enter を押します。

ReSharper がスコープ内で修正を適用するすべてのファイルは、エディタータブで開きます。必要に応じて、これらのファイルで変更されたすべてのコマンドを 1 つのコマンドで取り消すことができます。メインメニューで編集 | 元に戻すを選択するか、Ctrl+Z を押します。

スコープ内の一貫性のない命名を修正

一貫性のない命名を修正するクイックフィックスは、名前変更リファクタリングを呼び出して、ソリューション内で出現するすべてのシンボルの名前が変更されていることを確認します。

Quick-fix for naming style violation

より広い範囲で命名を修正することを選択すると、ReSharper は名前を変更する項目を選択できる追加のダイアログを表示します。

Fix in scope: bulk rename

より広い範囲に適用できるクイックフィックスのリスト

広い範囲に適用できるクイックフィックスの完全なリストは次のとおりです。

ASP.NET

共通

  • 構造パターンの置換

C++

  • 'テンプレート' キーワードを追加

  • 'typename' キーワードを追加

  • [] に clang-tidy 修正を適用

  • 中括弧を配置します

  • cv 修飾子を配置します

  • オーバーライドする関数指定子を配置します

  • バルク make local var const

  • ローカル変数宣言 const の一括作成

  • パラメーターを一括で const にする

  • ptr または ref パラメーターを const に一括作成

  • スマートポインタを変更して機能させる

  • ネストしたネームスペース定義に変換する

  • ネストされた名前空間に変換する

  • 通常の戻り値の型に変換

  • 末尾の戻り値の型に変換

  • 冗長なアクセス指定子を削除する

  • 冗長指定子を削除する

  • 冗長 typename テンプレートキーワードを削除する

  • 冗長なゼロ初期化子を削除する

  • 宣言と代入を結合

  • クラスを final にする

  • constexpr を作成する

  • メンバー関数を 'const' にする

  • メンバー関数を静的にする

  • const 参照でパラメーターを渡す

  • ファイル内の未使用の #include ディレクティブをすべて削除する

  • キャストの除去

  • 精巧な型指定子を削除する

  • 冗長な条件式を削除する

  • 冗長な逆参照を削除する

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

  • 冗長なイニシャライザーの除去

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

  • 冗長なカッコを除去

  • 重複修飾子を削除する

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

  • ステートメントを除去

  • 不要な空白を削除する

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

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

  • 式を 'false' に置き換える

  • expression を 'nullptr' に置き換える

  • 'if' を「if consteval」に置き換えます

  • 'if' を 'if constexpr' に置き換える

  • インポートディレクティブを置き換える

  • 冗長な二項演算子の逆参照を置換する

  • 冗長なメモリアクセス逆参照を置き換える

  • タブをスペースに置き換える

  • 再スローでスローを置き換える

  • と置換する ''

  • 型エイリアスに置き換えます

  • typedef に置き換えます

  • 前置演算子に置換

  • 構造化バインディングに置き換えます

  • 条件式の単純化

  • #include ディレクティブを並べ替える

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

  • 使用する ''

  • 'auto' を使用する

  • 'contains' メンバー関数を使用する

  • static_cast を使用

C#

  • イベントアクセサーを追加する

  • 明示的な「return」を追加する

  • get アクセサーを追加する

  • init アクセサーを追加します

  • 欠落している 'RequireForUpdate<>' 呼び出しを追加

  • 不足している '' の 'Update' 呼び出しを追加してください

  • 'new' キーワードを追加

  • パラメーター型の追加

  • 必要なメンバー初期化子を追加する

  • セットアクセサーを追加

  • 引数のスタイル

    欠落している引数名の追加 / 冗長な引数名の削除 ( コードの構文スタイル: 名前付き / 位置引数を参照してください)

  • アライメント属性

    属性を 1 つのセクションに配置する ( コードの構文スタイル: 複数の属性を参照してください)

  • 中括弧を配置します

    不足している中括弧を追加する / 冗長な中括弧を削除する ( コードの構文スタイル: 1 つのネストされた文に対する波括弧を参照してください)

  • アレンジコード本体

  • デフォルト値を調整する

  • 矛盾する修飾子を配置する

    ( コードの構文スタイル: オプションのメンバー限定子を参照)

  • 名前空間本体を配置します

  • null チェックパターンを配置

  • オブジェクト作成の手配

  • 冗長修飾子を配置する

    ( コードの構文スタイル: オプションのメンバー限定子を参照)

  • 末尾のコンマを配置する

  • 括弧で優先順位を明確にする

    ( コードの構文スタイル: オプションの括弧を参照)

  • オブジェクト作成と組み合わせる

  • 自動プロパティに変換

    ( 自動プロパティを使用するを参照)

  • 「CompareTag」に変換

  • 条件式に変換

  • プライマリコンストラクターに変換

  • 生の文字列に変換する

  • 'switch' 式に変換する

  • スコープ宣言を使用するように変換する

  • 式を使用してオブジェクトの作成に変換する

  • デフォルトのコンストラクターを作成する

  • 空のコンストラクターを作成し、メンバー初期化子を追加します

  • 一致するチェック済み演算子を作成する

  • パラメーターを破棄します

  • ドット部分クラス

  • 宣言スタイルの解体を強制する

  • 破棄宣言スタイルを強制する

  • 共通プロパティパターンの抽出

  • 組み込みの型参照スタイルを修正

    type キーワード /CLR タイプ名を使用する ( コードの構文スタイル: 組み込み型参照を参照してください)

  • null 可能性とデフォルトのパラメーター値の不一致を修正

  • コンストラクターを生成

  • インポート拡張機能 getenumerator メソッド

  • インポート拡張機能 getenumerator メソッドポップアップ

  • インポートメソッド

    ( コードの構文スタイル: 名前空間のインポートを参照)

  • インポートメソッドのポップアップ

    アイテムとその他すべての参照をインポートします ( コードの構文スタイル: 名前空間のインポートを参照してください)

  • インポートタイプ

    ( 欠落している名前空間をインポートするを参照)

  • インポート型クイックポップアップ

    ( 欠落している名前空間をインポートするを参照)

  • インラインアウト変数宣言

  • インライン一時変数

  • 宣言と代入を結合

  • 代入で null チェックに参加する

  • タイプを null 許容にしない

  • abstract にする

  • 初期化されていないすべてのメンバーを「必須」にします

  • 無名関数を静的にする

  • 自動プロパティを取得専用にする

    ( 自動プロパティを get-only にするを参照)

  • ベースを仮想化する

  • クラスを abstract にする

  • クラスを非抽象化する

  • クラスを封印する

  • フィールドを非読み取り専用にする

  • メンバー必須にする

  • Make はリソースを破棄する必要があります

  • 非抽象化する

  • 非読み取り専用にする

  • 密閉しないでください

  • 非静的にする

  • 非仮想にする

  • 不揮発性にする

  • null チェック済みパラメーターを null 可能にする

  • 演算子 'public static' を作成する

  • オーバーライドする

  • パラメーターを「<不明>」にします

  • プロパティを初期化のみにする

  • 読み取り専用にする

    フィールドを読み取り専用にする ( フィールドを読み取り専用にするを参照してください)

  • シールします

  • static にする

  • 静的 extern を作成する

  • 仮想化する

  • NULL 可能マーク

    ( 価値と無効性の分析を参照)

  • 'と' パターンをマージする

  • 条件式をマージする

  • パターンにマージ

  • ネストされたプロパティパターンをマージする

  • ループ条件内で宣言を移動

  • ローカル関数をスコープの最後に移動する

  • '' 名前空間に移動する

  • ドット継承の構造体でなければなりません

  • N ユニットを静的にする

  • 非表示のオーバーライド

  • 括弧付きの署名

  • 文字列補間を渡す

  • ジェネリクスメソッドのオーバーロードを優先する

  • ブロックに入れる

  • メンバーのキャプチャーにリダイレクト

  • 属性をパラメーターに再配置

  • '()' を削除

    ( コードの構文スタイル: オプションの括弧を参照)

  • 「抽象」キーワードを削除

  • 引数名の指定を削除する

    ( コードの構文スタイル: 名前付き / 位置引数を参照)

  • 'as' 演算子を削除

  • 非同期を削除し、return を更新します

  • 属性の除去

  • '属性' サフィックスを削除します

  • キャストの除去

  • 'Cast <T>' コールを削除

  • 'class' キーワードを削除します

  • 'ConfigureAwait(true)' を削除します

  • 破棄を削除します

  • 空の領域を削除

  • 明示的なプロパティを削除する

  • グローバル使用ディレクティブを削除します

  • ガード句を削除

  • イニシャライザーの除去

  • 無効なステートメントを削除

  • 修飾子を削除

  • 「新しい」修飾子を削除

  • 値型の null チェックを削除します

  • '#nullable' コンテキストなしで null 許容アノテーションを削除

  • 'override' 修飾子を削除します

  • param 型の指定を削除する

  • 'params' 配列の作成を削除する

  • 'partial' キーワードを削除

  • 禁止された修飾語を削除する

  • プロパティの割り当てを削除

  • 冗長な「.With cancelance」を削除します。

  • 冗長な '?' の除去

  • 冗長な [CallerArgumentExpression] 引数値を削除します

  • 冗長な引数の値を削除する

  • 冗長な「昇順」を削除

  • 冗長な属性を削除する

  • 冗長ベースコンストラクターの呼び出しを削除する

  • 冗長な「base()」を削除

  • 余分な本体を削除します

  • 冗長波括弧を取り外す

  • 冗長な 'キャッチ' を削除

  • 冗長比較を削除

  • 冗長条件を削除

  • 冗長なコンストラクターの除去

  • 冗長な「ContainsKey」を削除します

  • 冗長デリゲートコンストラクター呼び出しを削除する

  • 冗長な else の除去

  • 冗長な空の文を削除する

  • 冗長な 'finally' ブロックを削除する

  • 冗長固定ポインタ宣言を削除する

  • 冗長な 'int' を削除する

  • 余分な 'internal' 修飾子を削除

    ( コードの構文スタイル: 修飾子を参照)

  • 冗長な「is」を削除します

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

  • 冗長な名前を削除する

  • 冗長な「新しい」ものを削除する

  • 冗長な null 許容ディレクティブを削除する

  • 冗長なカッコを除去

    ( コードの構文スタイル: オプションの括弧を参照)

  • 余分な括弧を削除する

    ( コードの構文スタイル: オプションの括弧を参照)

  • 余分な範囲を削除

  • 冗長セクションを削除

  • 冗長な署名を削除する

  • 余分な 'string.Format()' 呼び出しを削除

    ( 文字列リテラルのコード分析とヘルパーを参照)

  • 冗長な抑制を削除

  • 冗長な 'ToCharArray()' を削除

  • 余分な 'ToString' を削除

    ( 文字列リテラルのコード分析とヘルパーを参照)

  • 冗長な真のパターンを削除する

  • 冗長タプルコンポーネント名を削除する

  • 冗長な型引数を除去

  • 冗長タイプ指定を削除する

  • 余分な逐語接頭辞を削除する

  • 「scoped」キーワードを削除

  • 'sealed' キーワードを削除する

  • セミコロンの除去

  • ステートメントを除去

  • サブパターンを削除する

  • '未チェック' 式を削除する

  • 不要な空白を削除する

  • 'unsafe' 修飾子を削除

  • ファイル内の未使用のディレクティブを削除する

  • 未使用ラベルの除去

  • 未使用の null 許容ディレクティブを削除する

  • 未使用の変数を削除します

  • 「仮想」キーワードを削除

  • すべてアンダースコアのパラメーターの名前を変更する

  • 名前を '' に変更

  • キャストをパターン変数に置き換える

  • タブをスペースに置き換える

  • 'unsafe' ステートメントをボディに置き換える

  • 最後の要素 '^1' へのアクセスに置き換えます

  • 定数パターンに置き換える

  • カウントアクセスで置き換える

  • 「フィールド」キーワードに置き換えます

  • JetBrains.Annotations 属性に置き換えます

  • プライマリコンストラクターパラメーターに置き換えます

  • 例外を取り除く

  • 空白行で区切られたステートメント

  • linq 式の使用を単純化する minby および maxby

  • 否定パターンを単純化する

  • 否定された関係パターンを単純化する

  • 生の文字列を単純化する

  • 「GetValueOrDefault」で簡素化する

  • 単一の「追加」で簡素化

  • 単一の「削除」で簡素化

  • 「TryAdd」で簡素化

  • 「TryGetValue」で簡略化

  • 修飾子の並べ替え

    ( コードの構文スタイル: 修飾子を参照)

  • 属性ターゲットを指定

  • 脱構築によるスワップ

  • 複合割り当てに

  • 計算プロパティ

  • 条件式へ

  • 明示的なフィールド宣言

  • 拡張メソッド呼び出しに

  • GUID リファレンス

  • null 合体複合割り当てへ

  • 通常の弦に

  • 文字列リテラル

  • 非同期待機からラップを解除する

  • デリゲートの作成から解除する

  • アノテーション構文を使用する

  • 'ArgumentNullException.ThrowIfNull' を使用します

  • 配列の空のメソッドを使用する

  • 配列初期化子を使う

  • 非同期オーバーロードを使用する

  • 使用を待つ

  • 基本クラス修飾子を使用する

  • コレクション式を使用する

  • コレクション初期化子を使用する

  • コンパイラー属性を使用する

  • 条件付きアクセスを使用する

  • 'ConfigureAwait(false)' を使用します

  • 破棄割り当てを使用する

  • 'EventArgs.Empty' を使用します

  • 明示的な型を使用する

    - コードスタイルの設定に応じて、「var」または明示的な型を使用します。

  • 終了式からインデックスを使用

  • 'nameof' 式を使用する

  • 否定パターンを使用する

  • null チェックパターンを使用する

  • null 伝播を使用する

  • null 可能な短縮形を使用する

  • null 合体式を使用する

  • オブジェクト初期化子を使用する

  • パターンマッチングを使用する

  • 位置分解パターンを使用する

  • 範囲インデクサーを使用する

  • スタック割り当てにスパンタイプを使用する

  • 文字列補間を使用する

  • シンボルのエイリアスを使用する

  • ToArray() を使用する

  • 型アノテーション構文を使用する

  • 'Type.EmptyTypes' を使用します

  • 符号なし右シフト演算子 '>>>' を使用してください

  • UTF-8 文字列リテラルを使用する

  • 'var' パターンを使用する

  • 'with' 式を使用する

  • コンストラクターでラップ

  • ラムダでラップ

HTML

  • 引用符の追加 / 変更

JavaScript

  • 明示的な 'null' を追加

  • 不足しているコンマを追加

  • 引用符の追加 / 変更

  • テンプレート文字列に変換する

  • プロパティ名を修正

  • このリストからすべての変数をブロックスコープにする

  • 変数 '' をインナーブロックに移動

  • 予期しないコンマを削除する

  • 名前を '' に変更

  • ファイル内のすべての終了していない文を終了する

TypeScript

  • パブリック修飾子をスタイルに適合するように変更する

  • ECMAScript 6 に変更 'デフォルトのエクスポート'

  • キャストを 'as' 演算子に変換する

  • ECMAScript 6 のインポートステートメントに変換する

  • 相対パススタイルを修正

  • Js2 ts 変換

  • 重複修飾子を削除する

  • 冗長参照コメントを削除

  • 冗長タイプ指定を削除する

  • 未使用の 'import' を除去

  • 明示的に '' を指定する

  • 変数の型を明示的に指定

VB.NET

XAML

  • 要素の除去

  • 名前を '' に変更

この機能は、次の言語とテクノロジーでサポートされています。

ここで説明する手順と例では、C# の機能の使用について説明します。他の言語の詳細については、言語別 ReSharper セクションの対応するトピックを参照してください。

関連ページ:

クイックフィックスの例

クイックフィックスは、さまざまな状況で利用できますが、リストアップするには大きすぎます。ReSharper は、サポートされているすべての言語で合計 1200 を超えるクイックフィックスを提供します。ここでは、状況の小さな選択を使用して使用する方法を示します: 型の不一致:式の型を式のコンテキストに適用できる型に暗黙的にキャストできない場合、ReSharper はこのエラーを検出し、エディターでハイライトします。ハイライトされたエラーにキャレットを置き、を押すと、次のリストからクイックフィック...

コンテキストアクション

コンテキストアクションは、エディターで直接利用できるコード変換ヘルパーです。クイックフィックスとは対照的に、コンテキストアクションは問題の解決やコードの改善を目的としているためはなく、アクセス修飾子の変更、null をチェックするコードの生成、'foreach' の 'for' への変換などの小さな変更を素早く導入できます。ReSharper は、サポートされているすべての言語で数百のコンテキストアクションを提供します。完全なリストは、ReSharper オプション Alt+R, O のページとコン...

コードのクリーンアップ

ReSharper を使用すると、フォーマットやその他のコードスタイル設定を一括モードで適用して、1 つ以上のファイル、プロジェクト、ソリューション全体でコードスタイル違反を即座に排除できます。コードクリーンアッププロファイル:コードのクリーンアップには、ニーズに応じてさまざまな場合に適用できるさまざまな設定(プロファイル)があります。提供時の状態で使用可能な 3 つのデフォルトプロファイルがあります。コードのフォーマットのみを適用するビルトイン: コードの整形、コードのフォーマットとコードの...

ネーミングスタイル

ReSharper は、コード内のシンボルの希望する命名スタイルを定義、制御、適用できます。一連のルールがあり、各ルールは一連の制約を持つ特定の識別子を対象とします (たとえば、ルールは静的プライベート読み取り専用フィールドを対象にすることができます)。各ルールには、複合語、アンダースコア、サフィックス、プレフィックスなどの大文字化を定義する 1 つ以上の関連スタイルを含めることができます。これらのルールは、ReSharper がコード補完およびコード生成機能を使用して新しいコードを生成し、コー...

名前変更リファクタリング

このリファクタリングにより、ソリューション内の任意のシンボルまたはプロジェクトの名前を変更できます。シンボルへの参照および使用箇所はすべて自動的に更新されます。さまざまな C# エンティティにリファクタリングを使用する:これは、このリファクタリングで名前を変更できるエンティティのリストです。名前空間また、名前空間のネストレベルを変更することもできます。例: 名前空間をに変更できます。タイプ名前が変更された型が同じ名前のファイルにある場合、ReSharper は含まれているファイルの名前も変更し...

コードの構文スタイル: 1 つのネストされた文に対する波括弧

C# 仕様では、など、一部の親ステートメントにある単一のネストされたステートメントを囲む中括弧を安全に省略できます。ただし、コードスタイルのガイドラインはこの点で異なる場合があります。ここで中括弧を要件と見なす人もいれば、冗長であると考える人もいます。どのスタイルを好む場合でも、重要なことは、コードベース全体で中括弧を一貫して使用することです。ReSharper を使用すると、各タイプのコードブロックの後に中括弧を使用するための設定を定義し、このスタイルを適用できます。ReSharper は、中...