ReSharper 2020.3 ヘルプ

スコープの修正

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

範囲内の修正を適用する

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

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++

  • オーバーライド関数に 'override' 指定子を追加する

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

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

  • オーバーライドする関数に「仮想」指定子を追加する

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

  • バルク make local var const

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

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

  • 冗長指定子を削除する

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

  • 宣言と代入を結合

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

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

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

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

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

  • 冗長なカッコを除去

  • 重複修飾子を削除する

  • ステートメントを除去

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

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

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

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

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

  • インポートディレクティブを置換するインポートファイルのパスにスラッシュを修正する

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

  • 接頭辞演算子で置換

  • ファイル内の #include ディレクティブを並べ替える

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

  • 'auto' を使用する

  • static_cast を使用

C#

  • 引数スタイル行方不明の追加 / 重複する引数名の削除 ( コードの構文スタイル: 名前付き / 位置引数を参照してください)

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

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

  • アレンジコード本体

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

  • 矛盾する修飾子を配置する ( コードの構文スタイル: オプションのメンバー限定子を参照してください)

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

  • 冗長修飾子を配置する ( コードの構文スタイル: オプションのメンバー限定子を参照してください)

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

  • 括弧で優先順位を明確にする ( コードの構文スタイル: オプションの括弧を参照してください)

  • 自動プロパティに変換 ( 自動プロパティを使用するを参照してください)

  • switch 式に変換

  • 'switch' 式に変換する

  • 'switch' ステートメントに変換する

  • 'using' 宣言に変換

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

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

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

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

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

  • インポートメソッド ( コードの構文スタイル: 名前空間のインポートを参照してください)

  • インポート方法ポップアップインポート項目と他のすべての参照 ( コードの構文スタイル: 名前空間のインポートを参照してください)

  • インポートタイプ ( 不足している名前空間をインポートするを参照してください)

  • インポート型クイックポップアップ ( 不足している名前空間をインポートするを参照してください)

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

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

  • 自動プロパティを取得専用にする ( 自動プロパティを取得専用にするを参照してください)

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

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

  • NULL 可能マーク ( 価値と null 可能性の分析を参照してください)

  • 条件式をマージする

  • 順次チェックをマージする

  • シーケンシャルパターンをマージする

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

  • '()' を削除 ( コードの構文スタイル: オプションの括弧を参照してください)

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

  • 引数名の指定を削除する ( コードの構文スタイル: 名前付き / 位置引数を参照してください)

  • 'as' 演算子を削除

  • 属性を除去

  • キャストを除去

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

  • ガード句を削除

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

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

  • 修飾子を削除

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

  • param 型の指定を削除する

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

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

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

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

  • 冗長な「?」を削除する

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

  • 冗長な「昇順」を削除

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

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

  • 冗長波括弧を取り外す

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

  • 冗長比較を削除

  • 冗長条件を削除

  • 冗長コンストラクターを除去する

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

  • 冗長な else の除去

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

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

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

  • 余分な 'internal' 修飾子を削除 ( コードの構文スタイル: 修飾子を参照してください)

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

  • 冗長な名前を削除する

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

  • 冗長なカッコを除去

  • 余分な括弧を削除する ( コードの構文スタイル: オプションの括弧を参照してください)

  • 余分な範囲を削除

  • 冗長セクションを削除

  • 冗長な署名を削除する

  • 余分な 'string.Format()' 呼び出しを削除 ( 文字列リテラルのコード解析とヘルパーを参照してください)

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

  • 余分な 'ToString' を削除 ( 文字列リテラルのコード解析とヘルパーを参照してください)

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

  • 冗長な型引数を除去

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

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

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

  • セミコロンを除去します

  • ステートメントを除去

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

  • 不要な空白を削除する

  • 'unsafe' 修飾子を削除

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

  • 未使用ラベルを除去する

  • 名前を '' に変更

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

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

  • 例外を取り除く

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

  • 修飾子をソート ( コードの構文スタイル: 修飾子を参照してください)

  • 複合割り当てに

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

  • null 合体複合割り当てへ

  • パターンに反対する

  • 通常の弦に

  • 文字列リテラルに

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

  • 配列初期化子を使う

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

  • 使用を待つ

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

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

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

  • 'nameof' 式を使用する

  • null 伝播を使用する

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

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

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

  • 文字列補間を使用する

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

HTML

  • 引用符の追加 / 変更

JavaScript

  • 明示的な 'null' を追加

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

  • 引用符の追加 / 変更

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

  • プロパティ名を修正

  • Json スキーマの非互換性

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

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

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

  • 名前を '' に変更

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

TypeScript

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

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

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

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

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

  • Js2 ts 変換

  • 重複修飾子を削除する

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

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

  • 未使用の「インポート」を削除

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

  • 変数型を明示的に指定する

VB.NET

XAML

  • 要素を削除する

  • 名前を '' に変更

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

C# の機能の使用方法については、こちらの説明と例を参照してください。他言語の詳細については、言語による ReSharper の対応するトピックを参照してください。

関連ページ:

クイックフィックスの例

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

コンテキストアクション

コンテキストアクションのいくつかの例を ReSharperWeb サイトでチェックすることができます。コンテキストアクションは、エディターで直接利用できるコード変換ヘルパーです。クイックフィックスとは対照的に、コンテキストアクションは問題の解決やコードの改善を目的としているためはなく、アクセス修飾子の変更、null をチェックするコードの生成、'foreach' の 'for' への変換などの小さな変更を素早く導入できます。コードベースのより大きな変換のために、ReSharper は数十の自動化さ...

ネーミングスタイル

バージョン 2018.3 から、ReSharper は既存のコードから C# シンボルの命名規則を自動的に学習を実行できます。命名規則を手動で構成する場合は、ReSharper オプション(Alt+R, O)のページの自動検出ルールを使用するチェックボックスをオフにします。ReSharper は、コード内のシンボルの命名スタイルを定義、制御、適用できます。命名スタイルはルールのセットとして実装され、それぞれが特定の識別子を制約のセットでターゲットにします(たとえば、ルールは静的なプライベート読み...

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

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

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

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

不足している名前空間をインポートする

ファイルに名前空間がインポートされていない型を使用する場合、ReSharper はこれらの型を見つけて不足している名前空間インポートディレクティブを追加できます。たとえば、ファイルにコードのブロックを貼り付けた後など、未解決の型にいくつかの不足している名前空間がある場合、ReSharper はこれらすべての名前空間を 1 回の操作でインポートできます。ReSharper は、現在のプロジェクトで参照されているアセンブリ、ソリューション内の他のプロジェクトで参照されているアセンブリ、推移的に参照さ...