C# のコンテキストアクション
JetBrains Rider は C# に対して以下のコンテキストアクションを提供します:
名前 | 説明 |
|---|---|
XML ドキュメントに <exception> タグを追加する | <exception> タグを XML ドキュメントに追加します。 |
XML ドキュメントに <inheritdoc/> タグを追加する | XML ドキュメントがベース候補から継承されるように <inheritdoc /> を追加します。 |
別のアクセサーを追加する | イベントまたはプロパティに 2 番目のアクセサーを追加します。 |
switch セクションステートメントにブロック波括弧を追加する | スイッチセクションのステートメントに波括弧を追加します。 |
波括弧の追加 | ステートメントに波括弧を追加します。 |
分解パターンコンポーネント名を追加 | ソースパターンディスパッチタイプの名前に基づいて、明示的な分解パターンコンポーネント名を追加します。 |
匿名プロパティの明示的な名前を追加する | 匿名型のプロパティ宣言に明示的な名前指定を追加します。 |
ローカル関数の前に明示的な「return」または「Continue」を追加します | 実行可能コードをヘルパー関数から明確に分離するために、メンバーまたはサイクルの終わりのローカル関数の前に明示的な制御フロージャンプを追加します。 |
引数に名前を追加 | 選択した引数に名前を追加します。 |
最後のパラメーターに「params」修飾子を追加します | 最後のパラメーターに「params」修飾子を追加し、アドホックコレクションを渡すことでメソッドの使用方法を更新します。 |
文字列フォーマットメソッド引数を追加する | 書式文字列に新しい書式項目を追加し、対応する引数をフォーマットメソッドの呼び出しに追加します。 詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。 |
文字列補間引数を追加する | 文字列補間式に新しい引数を追加します。 通常の文字列リテラルでも使用できます。 |
TestCase 属性を追加する | TestCase 属性を NUnit テストメソッドに追加します。 |
タプルコンポーネント名を追加 | ターゲットのタプル型の名前に基づいて、明示的なタプルコンポーネント名を追加します。 |
パターンの変数指定を追加 | 型テスト /null チェック / 関係パターンの変数指定を導入し、対応する 'switch' セクション内のキャストを置き換える可能性があります。 |
「#pragma」ディレクティブに警告説明コメントを追加します | ID によって警告を無効化または復元する、警告の説明を含むコメントを「#pragma」ディレクティブに追加します。 |
生の文字列リテラル内の余分な引用符とドルを追加 / 削除する | 生の文字列内の引用符またはドル記号の数を変更します。 |
'switch' 条件コンポーネントを追加します | 'switch' 式 / ステートメントコンポーネントを追加します。 |
enum メンバーに 'EnumMemberAttribute' アノテーションを付ける | 各列挙型メンバーに 'EnumMemberAttribute' を追加します。 |
null 可能性属性を持つメンバーにアノテーションを付ける | nullability 属性で型メンバーまたはパラメーターにアノテーションを付けます。 |
'DataMemberAttribute' でメンバーにアノテーションを付ける | すべてのパブリックプロパティとフィールドに「DataMemberAttribute」を追加します。 |
'OperationContractAttribute' でメソッドにアノテーションを付ける | 公開されたすべてのメソッドに 'OperationContractAttribute' を追加します。 |
アサートリファレンスが null ではありません | キャレット位置の変数に対して null 参照チェックを行う assert 文を追加します。 |
Catch 宣言された例外タイプ | XML ドキュメントでスローされる例外型を宣言しているメソッド呼び出しの周囲に「try-catch」ブロックを生成する。 |
'set' と 'init' アクセサーを変更します | 「set」アクセサーと「init」アクセサーの種類を変更します。 |
メンバーの可視性を変更する | アクセス修飾子キーワードで利用可能で、宣言のアクセス権を変更できます。 |
現在のメンバーのシグネチャーを変更する | 現在のメンバーのシグネチャーを変更します。 |
「クラス」/「構造体」と「レコード」の間で型宣言の種類を変更します | 'class'/'struct' と 'record' の間で型宣言の種類を変更し、エラーを修正する可能性があります。 |
null または空の文字列のすべての文字列パラメーターを確認する | すべての文字列パラメーターについて、null または空の文字列をチェックします。 |
null または空白文字列のすべての文字列パラメーターをチェックする | すべての文字列パラメーターについて、null または空白文字列をチェックします。 |
配列のインデックス値を確認する | 配列のインデックス値をチェックします。 |
コレクションのインデックス値を確認する | コレクションのインデックス値をチェックします。 |
辞書のキー値を確認する | 辞書のキー値をチェックします。 |
すべてのパラメーターで null をチェックする | すべての関数パラメーターが null かどうかをチェックします。 |
enum パラメーターが enum 型で定義されているかどうかを確認する | 関数パラメーターが列挙型で定義されているかどうかをチェックします。 |
数値パラメーターが範囲外かどうかを確認する | 指定された範囲の数値パラメーターをチェックします。 |
パラメーターが空のコレクションであるかどうかを確認する | 空のコレクションの関数パラメーターをチェックします。 |
パラメーターが有効でないかどうかを確認する | 関数パラメーターの有効性をチェックします。 |
パラメーターが null かどうかを確認する | 関数パラメーターの null をチェックします。 |
参照が null でないかどうかを確認する | 現在のステートメントを、キャレット位置の変数の null 参照チェックを実行する 'if' ステートメント下に置きます。 |
文字列パラメーターが null か空文字列かをチェックする | 文字列パラメーターの null または空の文字列をチェックします。 |
文字列パラメーターが null か空白文字列かをチェックする | 文字列パラメーターの null または空白文字列をチェックします。 |
変数が null かどうかをチェックする | 変数の null をチェックします。 |
Span<T> インデックス値を確認してください | Span<T>/ReadOnlySpan<T> 型のインデックス値をチェックします。 |
文字列のインデックス値をチェックする | 文字列のインデックス値をチェックします。 |
'StringBuilder' のインデックス値を確認する | 'StringBuilder' のインデックス値をチェックします。 |
リストのような言語構造の Chop フォーマット | リストのような言語構造にチョップフォーマットを適用し、各項目の間に改行を入れます。 |
定数値の計算 | 現在の式の値を計算し、それで置き換えます(例:1 + 1 が 2 に置き換えられるなど)。 |
新しいファイルの null 許容コンテキストを構成する | 新しいファイルに '#nullable enable' を挿入するかどうかを設定する。 |
ネストチェックアサーションパターンを設定する | null チェックパターンを設定する ReSharper オプションページを開きます。 |
パラメーターの null チェックパターンを設定する | null チェックパターンを設定する ReSharper オプションページを開きます。 |
可変 null チェックパターンを設定する | null チェックパターンを設定する ReSharper オプションページを開きます。 |
拡張メンバーを統合する | 互換性のある拡張機能メンバーおよびブロックを選択したブロックにマージする。 |
'StringBuilder' で文字列を構築する | 文字列リテラルを、対応する「Append」呼び出し付きの「StringBuilder」に変換します。 |
'?:' 条件式を 'if' ステートメントに変換する | 戻り値または代入される条件式を 'if' ステートメントに変換します。 |
'?:'条件式を'switch' 式に変換します | 戻り値または代入される条件式を 'switch' 式に変換します。 |
'==' 演算子を 'Equals()' 呼び出しに変換する | 等値演算子 ('==') の使用を 'Equals' メソッドの呼び出しに変換します。 |
'==' 演算子を 'object.ReferenceEquals()' 呼び出しに変換する | 等値演算子 ('==') の使用を 'object.ReferenceEquals' メソッドの呼び出しに変換します。 |
匿名メソッドをラムダ式に変換する | 無名メソッド式をラムダ式に変換します。 |
匿名型を名前付き型に変換する | 匿名型を名前付き型に変換し、選択したスコープ内の使用箇所を置き換えます。 |
匿名型をタプルに変換する | 匿名型をタプル式に変換し、それを含むメソッド内の使用箇所を置き換えます。 |
配列の作成またはコレクションの初期化をコレクション式に変換する | 配列作成またはコレクション初期化式を C# 12 のコレクション式形式に変換します。 |
デフォルトのボディを持つプロパティに自動プロパティを変換する | 自動プロパティをデフォルトボディを持つプロパティに変換します。 詳細については、 自動プロパティを使用する を参照してください。 |
テキストと文字列のエスケープシーケンスを変換する | テキストとさまざまな形式の文字列エスケープシーケンスを変換します。 |
'catch(Exception)' 句を 'catch' に変換する | 'catch (System.Exception)' 句を 'catch' 形式に変換します。 |
'catch' 句を 'catch(Exception)' に変換する | 'catch' 句を 'catch (System.Exception)' 形式に変換します。 |
コレクションの初期化子を 'Add' メソッド呼び出しに変換する | コレクション初期化子を一連の「Add()」メソッド呼び出しに置き換えます。 |
複合代入を通常の代入に変換する | 複合代入を通常の代入に変換します。 |
コンストラクターをファクトリメソッドに変換する | コンストラクターをファクトリメソッドに変換し、使用箇所をファクトリメソッド呼び出しに更新します。 |
現在の拡張メソッドを通常の静的メソッド形式に変換する | 'this' 修飾子を削除し、すべてのメソッド使用箇所を更新することで、現在の拡張メソッドを通常の静的メソッド形式に変換します。 |
現在のメソッドを拡張メソッド形式に変換する | 'this' 修飾子を追加し、すべてのメソッド使用箇所を更新することで、現在のメソッドを拡張メソッド形式に変換します。 |
'Equals' メソッド呼び出しを '==' 演算子の使用に変換します | インスタンスまたは静的 'Equals' メソッドへの呼び出しを等値('==')または不等値('!=')演算子の使用に変換します。 |
明示的な実装から明示的な実装への変換 | インターフェースメソッドの明示的な実装を暗黙的なものに変換します。 |
式の本文メンバーを文の本文に変換する | 式のボディを持つメンバー宣言をステートメントボディ形式に変換します。 |
式 lambda を文 lambda に変換する | 式ボディのラムダ式をステートメントボディ形式に変換します。 |
式を「StringBuilder」に変換します | 式を「StringBuilder」に変換します。 |
式を「StringBuilder」呼び出しに変換する | 「StringBuilder」内の式を対応する「StringBuilder」呼び出しに変換します。 |
'ForEach' メソッド呼び出しを 'foreach' ステートメントに変換する | 'xs.ForEach(x => ...)' の呼び出しを通常の 'foreach' ステートメントに変換します。 |
foreach を for ループに変換する | 索引によって要素への直接アクセスを可能にするコレクション上で実行される 'foreach' 文に作用します。 このような 'foreach' 文を 'for' 文に変換します。 |
'if' 文を '?:' 条件式に変換する | 値を返すか、各ブランチ内で代入を実行する 'if' ステートメントで動作します。 ステートメントを条件式 ('x ? a : b') に変換します。 |
case if 節を切り替えるために 'if' 文を変換する | スイッチセクションの先頭にある 'if' ステートメントで動作し、'if' の内容を持つガードされたセクションと else ブランチを持つ非ガードセクションに分割します。 |
'if' ステートメントを 'switch' 式に変換する | 型チェックを実行したり、式の値と 1 つ以上の定数を比較する if 文に作用します。 'if' ステートメントを単一の 'switch' 式に変換します。 |
'if' 文を 'switch' 文に変換する | 型チェックを実行したり、式の値と 1 つ以上の定数を比較する if 文に作用します。 'if' ステートメントを単一の 'switch' ステートメントに変換します。 |
暗黙的インターフェースから明示的インターフェースへの変換を変換する | インターフェースメンバーの暗黙的な実装を明示的な実装に変換します。 |
整数リテラルをバイナリ形式に変換する | 整数リテラルをバイナリ形式に変換します。 |
整数リテラルを 16 進形式に変換します | 整数リテラルを 16 進数形式に変換します。 |
整数リテラルを 10 進形式に変換する | 整数リテラルを 10 進数形式に変換します。 |
リストパターンに変換 | コレクションの長さチェックをリストパターンに変換します(例:'x is { Length: 0 }' → 'x is []')。 |
無効な文字リテラルを文字列に変換する | 無効な文字リテラルを文字列リテラルに変換します。 |
イテレータをメソッドに変換する | 反復子を List<T> の項目設定か配列の返却を伴うメソッドまたはプロパティに変換します |
ラムダ式を匿名メソッドに変換する | ラムダ式を匿名メソッド式に変換します。 |
コードに LINQ を変換する | LINQ をコードに変換します。 |
LINQ をメソッドチェーンに変換する | LINQ クエリを拡張メソッド呼び出しに変換します。 |
メンバー値チェック式を再帰パターンに変換する | メンバーの読み取りアクセスを、対応するパターンで定数値のチェックに置き換えます。 |
メソッドグループを匿名メソッドに変換する | メソッドグループを匿名メソッドに変換します。 |
方法グループをラムダに変換する | メソッドグループをラムダ式に変換します。 |
メソッドをプロパティに変換する | 戻り値を持つパラメーターなしメソッドをプロパティ宣言に変換します。 |
'Microsoft.Extensions.Logging.ILogger' 拡張メソッド呼び出しを 'Microsoft.Extensions.Logging.LoggerMessageAttribute' -generated ログメソッド呼び出しに変換します | ロガー拡張メソッド呼び出しをログメソッドに変換します。 |
複数行の文字列を個別の 'AppendLine' 呼び出しに変換します | 'StringBuilder' 内の複数行文字列を個別の 'AppendLine' 呼び出しに変換します。 |
not null チェックをオブジェクトパターンチェックに変換する | null でないチェック式をパターンマッチングチェックに変換します。 |
null 合体代入を if 文に変換 | null 合体代入を if 文に変換します。 |
NULL 合体式を 'if' ステートメントに変換します | null 合体式を 'if' ステートメントに変換します。 |
オブジェクト初期化子を代入文に変換する | オブジェクト初期化子を一連の代入ステートメントに置き換えます。 |
オブジェクト初期化子をコンストラクター呼び出しに変換します | オブジェクト初期化子を、名前と型が一致するパラメーター付きのコンストラクター呼び出しに置き換えます。 |
プロパティをメソッドに変換 | プロパティをメソッド宣言に変換します。 |
'ReferenceEquals' メソッド呼び出しを '==' 演算子の使用に変換する | 静的 'ReferenceEquals' メソッド呼び出しを等値('==')/不等値('!=')演算子の使用に変換します。 |
通常の文字列補間を生の文字列補間に変換する | 通常の文字列補間を raw に変換します。 |
通常の文字列リテラルを生の文字列リテラルに変換する | 通常の逐語的な文字列リテラルを生の文字列に変換します。 |
ステートメント本体メンバーを式本体に変換する | ステートメントボディのメンバー宣言を式ボディの形式に変換します。 |
文 lambda を式 lambda に変換する | ステートメントボディのラムダ式を式ボディの形式に変換します。 |
文字列比較を 'string.Equals' 呼び出しに変換する | 文字列比較を 'string.Equals' メソッド呼び出しに変換します。 |
文字列の補間を文字列の連結に変換する | 文字列補間式を対応する文字列連結に変換します。 |
文字列補間を 'string.Format' 呼び出しに変換する | 文字列補間式を対応する 'string.Format' メソッド呼び出しに変換します。 |
文字列リテラルを文字列補間に変換する | 通常のまたは逐語的な文字列を、対応する種類の文字列補間式に変換します。 |
'string.Format' を文字列補間に変換する | 'string.Format' の呼び出しを文字列補間に変換します(引数評価順の変更の可能性あり)。 |
'switch' 式を条件付きに変換しますか? : 式 | 'switch' 式を一連の条件(三項)演算子 ?: 式に変換します。 |
'switch' 式を 'if' ステートメントに変換します | 'switch' 式を 1 つまたは複数のネストした 'if' ステートメントに変換し、それぞれが個々のパターンをチェックします。 |
'switch' 式を 'switch' ステートメントに変換します | 'switch' 式を 'switch' ステートメントに変換します。 |
'switch' ステートメントを 'if' ステートメントに変換します | 'switch' ステートメントを 1 つまたは複数のネストした 'if' ステートメントに変換し、それぞれが個々のパターンをチェックします。 |
'switch' ステートメントを 'switch' 式に変換する | 'switch' ステートメントを 'switch' 式に変換します。 |
配列作成式に変換する | C# 12 コレクション式を配列作成式構文に置き換えます。 |
クラシック拡張メソッドに変換する | C# 14 拡張ブロックの拡張メソッドを従来の拡張メソッドに変換します。 |
従来の拡張メソッドに変換する | C# 14 拡張ブロックの拡張メソッドを従来の拡張メソッドに変換します。 |
コレクション初期化子に変換する | C# 12 コレクション式をコレクション初期化構文に置き換えます。 |
拡張ブロックに変換する | 従来の拡張メソッドを C# 14 拡張ブロックに変換します。 |
「グローバル使用」に変換する | 選択した 'using' ディレクティブをグローバルディレクティブに変換し、別ファイルに移動します。 |
ローカル関数に変換する | 一部メンバーで使用されているプライベートメソッド宣言をローカル関数に変換します。 |
非グローバル 'using' に変換する | 'using' ディレクティブを別ファイルから必要なすべてのプロジェクトファイルに移動します。 |
通常の文字列補間に変換する | 逐語的文字列補間 $@".." を通常の $".." に変換します。 詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。 |
通常の文字列リテラルに変換する | 逐語的文字列 @".." を通常の文字列 ".." に変換します。 詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。 |
個別の「Append」呼び出しと「AppendLine」呼び出しに変換します | 1 つの「AppendLine」呼び出しを個別の「Append」と「AppendLine」呼び出しに変換します。 |
トップレベルコードに変換する | 「Program」クラスと「Main」メソッドをトップレベルコードに置き換えます。 |
「try-finally」ステートメントに変換する | 'using' ステートメントを 'try-finally' ステートメントに変換します。 |
'using' 宣言に変換 | 'using' ステートメントを 'using' 宣言に置き換えます。 |
'using' ステートメントに変換する | 'using' 変数宣言を 'using' ステートメントに置き換えます。 |
逐語的な文字列補間に変換する | 通常の文字列補間 $".." を逐語的 $@".." に変換します。 詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。 |
逐語的な文字列リテラルに変換する | 通常の文字列リテラル ".." を逐語的文字列 @".." に変換します。 詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。 |
逐語的に生の文字列補間に変換する | 逐語的文字列補間を raw に変換します。 |
逐語的に生の文字列リテラルに変換する | 逐語的文字列リテラルを生の文字列に変換します。 |
'with' 式を一時変数のミューテーションに変換する | 構造体またはレコードをローカル変数にコピーし、そのメンバーを変更し、この変数を 'with' 式の代わりに使用します。 |
現在の型宣言をコピー | 現在のメンバーのシグネチャーを変更します。 |
ベースメンバーから XML ドキュメントをコピーする | XML ドキュメントを基底からオーバーライドメンバー/型にコピーします。 |
型宣言の別の部分を作成する | 必要に応じて型を partial としてマークし、新しいファイルに新しい部分を作成します。 |
'params' パラメーター引数からコレクション式を作成する | 'params' パラメーター引数からコレクション式を作成します。 |
派生型の作成 | インターフェースを実装する、またはクラスを継承するクラスを作成します。 |
イベントの呼び出し側を作成する | イベント呼び出しメソッドを作成します。 |
'params' パラメーター引数から明示的な配列作成を作成します | 「params」パラメーター引数から明示的な配列作成を行います。 |
'params' パラメーター引数から明示的なコレクション作成を作成する | 'params' パラメーター引数から明示的なコレクション作成を行います。 |
一次コンストラクターの明示的なコンストラクター宣言を作成します | レコードのプライマリコンストラクター用の明示的コンストラクター宣言を作成します。 |
プライマリコンストラクターのパラメーターの明示的なフィールド宣言を作成する | プライマリコンストラクターのパラメーターのために明示的フィールド宣言を作成します。 |
位置パラメーターの明示的なプロパティ宣言を作成します | レコードの位置パラメーターのために明示的プロパティ宣言を作成します。 |
一致するチェック済み演算子を作成する | 一致する checked 演算子を作成します。 |
パラメーターなしでオーバーロードを作成する | パラメーターを指定せずにオーバーロードを作成します。 現在のメソッドを呼び出します。 |
式からのリターンを作成する | 式文として扱われる値を持つ return 文を作成します。 |
単体テストの作成 | ターゲットクラスのテストクラスを作成します。 |
変数を分解する | 変数を複数の位置コンポーネントに分解します。 |
コメントの削除 | 選択したコメントを削除します。 |
コメントの削除 | コメントを削除します。 |
暗黙的な使用を無効にする | 「ImplicitUsings」プロジェクトプロパティを「無効」に設定し、暗黙的 using をすべてのプロジェクトファイルにコピーします。 |
「'do-while' ステートメントで中括弧を強制する」を有効にするインスペクション | キャレットが「do」または「while」キーワード上にある場合、「'do-while' ステートメントで波括弧を強制する」インスペクションを有効化することを提案します。 |
「'fixed' ステートメントで中括弧を強制する」を有効にするインスペクション | キャレットが 'fixed' キーワード上にある場合、「'fixed' ステートメントで波括弧を強制する」インスペクションを有効化することを提案します。 |
「'fixed' ステートメントで中括弧を強制する」を有効にするインスペクション | キャレットが 'fixed' キーワード上にある場合、「'fixed' ステートメントで波括弧を強制する」インスペクションを有効化することを提案します。 |
「'for' ステートメントで中括弧を強制する」を有効にするインスペクション | キャレットが 'for' キーワード上にある場合、「'for' ステートメントで波括弧を強制する」インスペクションを有効化することを提案します。 |
「'foreach' ステートメントで中括弧を強制する」を有効にするインスペクション | キャレットが 'foreach' キーワード上にある場合、「'foreach' ステートメントで波括弧を強制する」インスペクションを有効化することを提案します。 |
「'if' ステートメントで中括弧を強制する」を有効にするインスペクション | キャレットが 'if' または 'else' キーワード上にある場合、「'if' ステートメントで波括弧を強制する」インスペクションを有効化することを提案します。 |
「'lock' ステートメントで中括弧を強制する」を有効にするインスペクション | キャレットが 'lock' キーワード上にある場合、「'lock' ステートメントで波括弧を強制する」インスペクションを有効化することを提案します。 |
「'using' ステートメントで中括弧を強制する」を有効にするインスペクション | キャレットが 'using' キーワード上にある場合、「'using' ステートメントで波括弧を強制する」インスペクションを有効化することを提案します。 |
「'while' ステートメントで中括弧を強制する」を有効にするインスペクション | キャレットが 'while' キーワード上にある場合、「'while' ステートメントで波括弧を強制する」インスペクションを有効化することを提案します。 |
現在のソリューションで「Null 許容警告を '!' で抑制する」クイックフィックスを有効にする | キャレットが '!' トークンにある場合に現在のソリューションで "null 許容警告を '!' で抑止" クイックフィックスを有効にするよう提案します |
「null 許容な警告の抑制により根本的な問題が隠れてしまう可能性」インスペクションを有効化する | キャレットが '!' 演算子にある場合に 'null 許容に関する警告を抑止すると根本的な問題が潜在化する可能性があります' インスペクションを有効にするよう提案します。 |
暗黙的な使用を有効にする | 「ImplicitUsings」プロジェクトプロパティを「有効」に設定し、プロジェクトファイルから冗長な using を削除します。 |
「ローカル関数を静的にできる」インスペクションを有効にする | キャレットがローカル関数の「static」キーワードにあるとき、「ローカル関数を静的にできる」インスペクションを有効にするよう提案します。 |
「構造体メンバーを読み取り専用にできる」を有効にするインスペクション | キャレットが「readonly」キーワードにあるとき、「構造体メンバーを読み取り専用にできる」インスペクションを有効にするよう提案します。 |
「行末の不要な空白」インスペクションを有効にする | キャレットが末尾の空白上にあるとき、「行末の不要な空白」インスペクションを有効にするよう提案します。 |
「インデントに集計文字の使用を禁止する」インスペクションを有効にする | キャレットがタブ文字入りの空白上にあるとき、「インデントでタブ文字の使用は禁止されています」インスペクションを有効にするよう提案します。 |
遅延フィールドをカプセル化する | 既存のものがない場合、遅延フィールドをプロパティにカプセル化します。 |
式の評価 | 単純式を評価して、評価値で置き換えます。 |
匿名メソッド式をローカル関数に抽出する | 匿名メソッド式を、包含スコープのローカル関数へ抽出します。 |
名前付きメソッドに匿名メソッド式を抽出する | 匿名メソッド式を、包含型のプライベートメソッドへ抽出します。 |
ラムダ式をローカル関数に抽出する | ラムダ式を包含スコープのローカル関数に抽出します。 |
ラムダ式を名前付きメソッドに抽出する | ラムダ式を包含型のプライベートメソッドに抽出します。 |
ローカル関数を通常のメソッドに抽出する | ローカル関数を、包含型の通常メソッドに抽出し、必要ならそのクロージャをリフトします。 |
選択したコードからメソッドを抽出する | 選択した式やステートメントから新しいメソッド、プロパティ、またはローカル関数を作成し、選択箇所を関数呼び出しに置き換えます。 |
塗りつぶしオブジェクト初期化子 | オブジェクト初期化子でフィールドおよびプロパティを初期化します。 |
null 許容の警告抑制を見つける | 選択スコープ内にあるすべての null 許容警告の抑制式を検索します。 |
無効なエスケープシーケンスを修正 | 文字列中の無効なエスケープシーケンスを、すべての文字をエスケープすることで修正します。 |
無効な通常の文字列を修正する | 文字列を逐語的にすることで、無効な文字を修正します。 |
正規表現を修正する | 正規表現の無効な文字を修正します。 詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。 |
文字列補間における三項演算子の修正 | 三項式を括弧で囲むことで、補間文字列が偽ブランチを書式指定子として解釈しないようにします。 |
呼び出し式を反転します | 'left.Equals(right)' から 'right.Equals(left)' のように現在の呼び出し式を入れ替えます |
演算子引数を反転する | 'null == list' から 'list == null' のように選択した演算子の左と右のオペランドを入れ替えます |
リレーショナル式を反転する | 'list.Count > 1' から '1 < list.Count' のように現在の関係式を入れ替えます |
型、静的メンバー、または名前空間への参照を完全修飾する | 型、静的メンバー、または名前空間への参照に対する完全修飾を挿入します。 |
enum フラグをチェックする拡張メソッドを生成する | 列挙値に指定フラグが含まれているかを確認する拡張メソッドを生成します。 |
型パターンを生成する | 型パターンを生成します。 |
抽象メンバーの実装 | インターフェースメンバーまたは抽象メンバーで動作します。 このメンバーを実装する必要があるクラスを検索し、いずれかのメンバーに実装することを許可します。 |
カスタムイベントアクセサーを実装する | イベントの「add」および「remove」メソッド用のカスタム実装プレースホルダーを追加します。 |
'INotifyPropertyChanged' パターンを実装する | 文字列リテラルパラメーター付きで「PropertyChanged」イベントを呼び出すメソッドを作成します。 |
静的ディレクティブを使用して静的メンバーをインポートする | C# 6.0『using static』ディレクティブを使って型の静的メンバーをインポートします。 |
メンバーアクセスをオブジェクトパターンに含める | 「is」や「switch」演算子のソース式内のメンバーアクセスを、該当するパターンに置き換えます。 |
コンストラクターパラメーターから自動プロパティを初期化する | オプションで、コンストラクターパラメーターから自動プロパティを作成および初期化します。 |
コンストラクターパラメーターからフィールドを初期化する | オプションで、コンストラクターパラメーターからフィールドを作成して初期化します。 |
コンストラクターパラメーターからメンバーを初期化する | オプションでコンストラクターを作成し、コンストラクターパラメーターからメンバーを初期化します。 |
コンストラクターパラメーターから非プライベートフィールドを初期化します | コンストラクターパラメーターから非プライベートフィールドを初期化します。 |
インラインコントロール転送ステートメント | 'return' や 'continue' などのコントロール転送ステートメントを上記のステートメントにインライン化します。 |
インラインアウト変数宣言 | ローカル変数宣言を宣言式として置き換えます。 |
インライン文字列補間引数 | 文字列リテラルまたはネストされた文字列補間を、それを含む補間文字列にインライン化します。 |
インライン一時変数 | 他の変数やパラメーターの値で初期化された一時変数をインライン化し、同じ値を参照する異なる命名の数を減らします。 |
エイリアスを使用したインライン化 | 'using' エイリアスを、使用されるコンテキストにインライン化します。 |
変数を条件式にインライン化する | 変数を条件式にインライン化して、パターンマッチングを実行します。 |
匿名メソッドシグネチャーを挿入する | 匿名メソッドのパラメーターなし宣言に適切なシグネチャーを追加します。 |
整数リテラルに桁区切りを挿入する | 整数リテラルの一般的な場所に桁区切り記号を配置します。10進リテラルは千単位、16進リテラルは16ビットワード、2進リテラルはバイト単位で区切ります。 |
実数リテラルに桁区切りを挿入する | float/double/decimal 型の実数リテラルで桁区切り記号を置いて千単位を区切ります。 |
ジェネリクスメソッド呼び出し型引数を挿入する | メソッドグループ式からジェネリクスメソッド呼び出し / デリゲート作成の推論された型引数を挿入します。 キャレットがメソッド名の最後にある場合に使用できます。 |
ラムダ式パラメーターの署名を挿入する | 暗黙的に型指定されたラムダパラメーターの明示的な型指定を追加します。 |
ラムダ式の戻り値の型指定を挿入 | ラムダ式の明示的な戻り値の型指定を追加します。 |
デフォルトリテラルの後に型指定を挿入する | デフォルトリテラルをデフォルト式に変換します。 |
選択した式のパラメーターを導入する | 選択した式の新しいパラメーターを作成します。 |
型エイリアスの導入 | 選択した型に 'using' エイリアスを導入します。 |
選択した式の変数を導入する | 選択した式の新しい変数を作成します。 |
反転 '?:' 演算子条件 | 条件を反転し、'?:' 条件式のブランチを入れ替えます。 |
'if' ステートメントを逆転 | 'if' 文のガード条件を反転し、それに応じてブランチのコードを入れ替えます。 |
拡張メソッドを通常の静的メソッドとして呼び出す | 呼び出し構文を拡張メソッドから static メソッド呼び出し形式に変更します。 |
'foreach を待つ ' を介して繰り返す | 式を反復する 'await foreach' ステートメントを生成します。 |
'foreach' 経由で繰り返し | 式を反復する 'foreach' ステートメントを生成します。 |
'foreach' 経由で繰り返し (ライブテンプレートに基づく) | 式を反復する 'foreach' ステートメントを生成します。 |
属性を単一のセクションに結合する | 属性を単一のセクションに再配置します。 |
ローカル変数宣言と代入を結合する | イニシャライザーなしで宣言された変数への代入に作用します。 宣言を現在のポイントに移動し、割り当てにマージします。 |
代入で null チェックに参加する | 'if' ステートメントを '??' 演算子と 'throw' 式を使用するコードに置換します |
結合文字列リテラル | 文字列リテラルを2つのリテラルに連結します。 |
ローカル関数クロージャをパラメーターに持ち上げます | 包含メソッドのローカル変数に対するローカル関数クロージャをローカル関数のパラメーターに変換します。 |
メソッドを部分的にする | private void メソッドを部分メソッド定義に変換します。 |
文字列補間として文字列リテラルをマークする | 内容を変更せずに、通常または逐語的な文字列に「$」を追加します。 |
ファイル名と型名を一致させる | 現在のファイル名を、そこで宣言されている唯一のトップレベル型の名前と一致するように変更します。 |
展開された宣言をマージする | 分解された宣言を単一の変数宣言にマージします。 |
ネストした 'if' ステートメントをマージ | 元の条件の結合をチェックする単一の 'if' ステートメントに、ネストされた 2 つの 'if' ステートメントをマージします。 |
部分的なメンバー宣言をマージする | 部分メンバーのすべての宣言を単一の宣言にマージします。 |
部分型宣言をマージする | partial 型のすべての宣言を単一の宣言にマージします。 |
順次検査を null 伝播式にマージする | 条件付きアクセス式('?.' 演算子)を使って連続する null/型チェックをマージします。 |
順次 null/ パターンチェックを単一のパターンチェックにマージします | シーケンシャル null/パターンチェックを単一の再帰・論理パターンチェックにマージします。 |
#nullableenable に移行します | [NotNull]/[CanBeNull] 属性をコンパイラーの #nullable コンテキストと型アノテーションに移行します。 |
ローカル関数を包含スコープの末尾に移動します | 実行可能コードをヘルパー関数の宣言から明確に分離するために、ローカル関数を包含スコープの最後に移動します。 可能な場合は、「return」または「Continue」などの明示的な制御フロー移動で区切ります。 |
アノテーションを部分宣言の別の部分に移動する | アノテーションを部分宣言の別の部分に移動します。 アノテーションが生成されたコード内に存在する場合は、代わりにコピーされます。 |
コンストラクター内の代入を初期化子に移動する | コンストラクターからフィールド/イベント/プロパティのイニシャライザーに割り当てを移動します。 |
宣言を別の型部分に移動する | 選択された宣言範囲または単一の宣言(宣言名を選択せずに呼び出された場合)を partial 型の別の型部分に移動します。 |
初期化をコンストラクターに移動する | フィールド/イベント/プロパティのイニシャライザーをコンストラクターに移動します。 |
ローカル変数、定数、関数宣言を外側のスコープに移動する | ローカル変数(初期化あり)、ローカル定数、またはローカル関数宣言を外部スコープに移動します。 |
名前を一致させるためにタイプを別のファイルに移動する | 現在の型を別のファイルに移動し、その名前が型名と一致するようにします。 |
論理式を否定する | 論理式を否定します。 |
仮想メンバーを上書きする | 仮想メンバーで動作します。 このメンバーをオーバーライドできるクラスを検索し、それらの 1 つまたはすべてでオーバーライドできるようにします。 |
パス文字列補間式 | フォーマットメソッドの呼び出しを文字列補間式の受け渡しに置き換えます。 一部のフォーマットメソッド (ロギングフレームワークなど) は、文字列補間式が常に評価される一方で、引数のフォーマットを常に実行するとは限らないため、注意して使用してください。 |
'string.Format' メソッドの呼び出しを渡す | format メソッドの呼び出しを、'string.Format' メソッドの呼び出し結果を渡すことで置き換えます。 'string.Format' は常に文字列を生成しますが、一部のフォーマットメソッド (ロギングフレームワークなど) は常に引数のフォーマットを実行するとは限らないため、注意して使用してください。 |
変数を 'using' 内に入れる | 'System.IDisposable'、'System.IAsyncDisposable'、または使い捨てパターンを実装する型の変数宣言を 'using' ステートメントに変換します。 これは、使い捨てオブジェクトの有効期間を強制する場合に役立ちます。 |
static using ディレクティブを使用してインポートされた静的メンバーを修飾します | C# 6.0 'using static' ディレクティブを使用してスコープにインポートされた静的メンバーへの型修飾を挿入します。 |
#region、#endregion ディレクティブを削除 | #region と対応する #endregion ディレクティブのペアを削除します。 詳細については、 #region ブロックを追加および削除する を参照してください。 |
引数名の除去 | 選択した引数から名前を削除します。 |
波括弧の除去 | コード内の 1 つ以上のステートメントの周囲の不要な中括弧を削除します。 |
分解パターンのコンポーネント名を削除 | ソースパターンディスパッチ型の名前に基づいて明示的な分解パターンコンポーネント名を削除します。 |
数値リテラルから桁区切り記号を削除する | 整数や実数リテラルから桁区切り記号を削除します。 |
最後のパラメーターから 'params' 修飾子を削除します | 最後のパラメーターから 'params' 修飾子を削除し、メソッドの使用箇所を更新します。 |
余分な括弧を削除する | 冗長な場合は丸括弧を削除します。 |
冗長なプリプロセッサー括弧を削除する | 冗長な場合はプリプロセッサー式内の丸括弧を削除する。 |
文字列フォーマットメソッドの引数を削除する | フォーマット文字列項目と対応するフォーマットメソッド引数をフォーマットメソッド呼び出しから削除します。 詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。 |
'switch' 条件コンポーネントを削除します | 'switch' 式/ステートメントコンポーネントを削除します。 |
タプルコンポーネント名を削除 | タプル式の明示的なコンポーネント名を削除します。 |
「.IfNotNull(x => x.Smth)」のような呼び出しを「?.」式に置換 | 『.IfNotNull(x => x.Smth)』のような拡張メソッドの使用を条件付きアクセス式('?.' 演算子)に置き換えます。 |
「?:」を null 伝播式で置き換える | 条件式('?:' 演算子)を null 合体(?? 演算子)または条件付きアクセス式(?。 演算子) |
配列初期化子を式で置き換える | 配列イニシャライザーを配列作成式に置き換えます。 |
自動実装されたプロパティアクセサーを明示的に実装されたアクセサーに置き換える | 本体のない自動実装アクセサーを明示的に実装したアクセサーに置き換えます。 |
自動プロパティをプロパティおよびバッキングフィールドに置き換える | 自動プロパティをバッキングフィールドを使うプロパティに置き換えます。 |
自動プロパティをプロパティと「フィールド」キーワードに置き換えます | 自動プロパティを匿名フィールドを使うプロパティに置き換えます。 |
呼び出しチェーンを別の呼び出しに置き換える | 呼び出しチェーンを各メソッドの個別呼び出しに置き換え、必要に応じて変数を導入します。 |
キャスト式を安全な 'as' キャストに置き換える | 通常のキャスト式を安全なキャスト 'as' 式に置き換えます。 |
条件付きアクセス式を無条件アクセスで置き換えます | 条件付きアクセス式('?.' 演算子)を通常の無条件アクセスに置き換えます。 |
明示的な型指定を 'var' に置き換える | 変数の型が変わる場合でも型を'var'に置き換えることができます。 |
「field」キーワードを明示的なフィールド宣言に置き換えます | プロパティ宣言の 'field' キーワードを明示的なフィールド宣言に置き換えます。 |
'if' 文を null 伝播で置き換える | 'if' ステートメントを条件付きアクセス式(null 伝播)に置き換えます。 |
論理式を等式で置き換える | 等式で論理式を反転します。 |
メンバーアクセスを条件付きアクセス式で置き換える | メンバーアクセス/呼び出しまたはインデクサーアクセスを条件付きアクセス式('?.' 演算子)で置き換えます。 |
null 伝播式を '?:' 条件演算子で置き換えます | null 合体('??' 演算子)または条件付きアクセス式('?.' 演算子)を条件式('?:' 演算子)に置き換えます。 |
null 伝播式を 'if' ステートメントに置き換える | C# 6.0 条件付きアクセス式を 'if' ステートメントに置き換えます。 |
自動プロパティを使用してバッキングフィールドにプロパティを置き換える | バッキングフィールドを使うプロパティを自動プロパティに置き換えます。 詳細については、 自動プロパティを使用する を参照してください。 |
安全性を「キャスト式」として通常のキャストに置き換える | 安全な 'as' キャスト式を通常のキャスト式に置き換えます。 |
個別の宣言宣言を単一の宣言に置き換える | 別々の分解宣言を単一の宣言に置き換えます。 |
'var' を明示的な型宣言で置き換える | 'var' を明示的な型宣言に置き換えます。 |
アクセス式に置き換える | 単純な再帰パターンを通常または条件付きプロパティアクセス式に置き換えます。 |
逆代入文 | 割り当てステートメントのソース部分と宛先部分を逆にします。 |
ループの 'for' ループステートメント | 'for' ループステートメントの反復順序を逆にします。 |
ループの 'for' ループステートメント | 'for' ループステートメントの反復順序を逆にします。 |
プロジェクトの「ConfigureAwait」分析モードを設定します | プロジェクトの 'ConfigureAwait' 分析モードを設定します。 |
プロジェクトの言語レベルを設定する | プロジェクトの言語レベルを設定します。 |
'using' ディレクティブを並べ替える | ファイル内の 'using' ディレクティブを構文スタイル設定に従って並べ替えます。 |
明示的に配列型を指定する | 配列作成式に明示的な型指定を追加します。 |
作成したタイプを指定します | 作成した型を明示的に指定します。 |
enum メンバー値を指定する | すべての列挙メンバーに明示的な値の指定を追加します。 |
'および' パターンを複数の 'is' 式またはガード式に分割する | 論理 'and' パターンを一連の 'is' 式またはガード式に分割します。 |
属性を別々のセクションに分割する | 属性を分割したセクションに再配置します。 |
呼び出しチェーンを 2 つの部分に分割する | キャレット位置のメソッドを開始点として呼び出しチェーンを 2 つの部分に分割し、必要に応じて変数を導入します |
宣言リストを分割する | 複数の変数を宣言する変数宣言文に作用します。 そのようなステートメントは、それぞれが単一の変数を宣言する複数のステートメントに分割されます。 |
ガード句を ' で分割 | | ガード句を含む 2 つのケースラベルへの ' 条件 | ガード句が 2 つのより単純な条件の論理和('||')である switchcase ラベルで機能します。 switch case のラベルを 2 つの別々のラベルに変換します。 |
'if' を '&&' で分割する - 条件を入れ子にした 'if' 文に分割する | 条件が 2 つのより単純な条件の連結('&&')である 'If' 文に作用します。 そのような 'if' ステートメントを二重のネストされた 'if' ステートメントに変換します。 |
'if' と ' | | ' - 2 つの if 文への条件 | 条件が '||'(または)で連結された2つのより単純な条件の 'if' ステートメントに作用します。 そのような 'if' ステートメントを内容が等しい2つの 'if' ステートメントに変換します。 |
ネストされたパターンに分割 | ネストしたプロパティで一致する個別の再帰パターンを作成します。 |
リストパターンを複数の連続したチェックに分割する | リストパターンのサブパターンを '&&' 演算子で結合されたチェックに抽出します |
分割ローカル変数の宣言と初期化 | 変数イニシャライザー式を別の割り当てステートメントに移動します。 |
分割ローカル変数の宣言と初期化 | 変数宣言を外部スコープに移動します。 |
null 伝播式を順次チェックに分割する | 条件付きアクセス式('?.' 演算子)を連続する null/型チェックに分割します。 |
'または' パターンを複数の 'is' 式または 'switch' ケースに分割する | 論理 'or' パターンを一連の 'is' 式または複数の 'switch' ケースに分割します。 |
再帰パターンをいくつかの連続したチェックに分割します | 再帰パターンのサブパターンを '&&' 演算子で結合されたチェックに抽出します |
ブール値の 'return' ステートメントを 'if' ステートメントに分割 | 値がブール型の「return」ステートメントで機能します。 'return' ステートメントを 2 つの 'return' ステートメントを持つ 'if' ステートメントに変換し、'true' と 'false' の値を返します。 |
'&&' をつけて 'return' を分割する - 'if' と 'return' をガードするための条件 | 値が 2 つのより単純な条件の連結('&&')である 'If' 文に作用します。 その 'return' ステートメントをガード用 'if' ステートメントと 'return' に変換します。 |
文字列リテラルの分割 | 文字列リテラルを2つのリテラルに分割します。 |
タプルの割り当てを個別の割り当てステートメントに分割する | タプルの割り当てまたは宣言を含むステートメントを個別のステートメントに分割します。 |
分割された値は ' | | 'if' と 'return' ステートメントへの条件 | 値が '||'(または)で連結された2つのより単純な条件の 'return' ステートメントに作用します。 その 'return' ステートメントを 'if' と 'return' ステートメントに変換します。 |
「var」パターンを別の変数宣言に分割する | 'var' パターンを別のステートメントの変数宣言に分割します。 |
'string.Format' コールでのサラウンド文字列リテラル | 文字列リテラルを 'string.Format()' メソッド呼び出しで囲みます。 |
"" で囲む | 選択テキストの文字列リテラルを作成します。 |
抽象 / 仮想 / 非抽象 / 非仮想メンバーへ | 型メンバーを抽象、仮想、非抽象、非仮想にします。 |
ブロックスコープの名前空間へ | ファイルスコープの名前空間をブロックスコープの名前空間に変換します。 |
明示的な「Program」クラスへ | トップレベルのコードを明示的な 'Program' クラスと 'Main' メソッドに置き換えます。 |
ファイルスコープの名前空間へ | ブロック本体を持つ名前空間をファイルスコープの名前空間に変換します。 |
LINQ to JSON へ | JSON 文字列を JSON.NET オブジェクトに変換します。 |
LINQ to XML へ | XML 文字列を 'LINQ to XML' オブジェクトに変換します。 |
名前付きプロパティパターンへ | 位置分解パターン句を対応するメンバーの名前付きプロパティパターンに置き換えます。 |
プリコンパイルされた 'Regex' オブジェクト | 'Regex' 型のフィールドとプリコンパイル済みオブジェクトを導入します。 詳細については、 正規表現の支援 を参照してください。 |
INotifyPropertyChanged 変更通知でプロパティへ | 自動プロパティを、setter に 'INotifyPropertyChanged' 変更通知呼び出しを持つプロパティに変換します。 |
変換パラメーター | パラメーターと戻り値を変換します。 |
変換パラメーター | パラメーターと戻り値を変換します。 |
コメント解除 | コードブロックからコメントを削除する。 詳細については、 コードのコメントとコメント解除 を参照してください。 |
使用 "" | 'string.Empty' の代わりに "" リテラルを使用する。 |
'as' を使用して null をチェックする | 'if (a is B) { }' を 'var b = a as B; if (b != null) { }' に変換して使用箇所を更新します |
'ConfigureAwait(false)' 呼び出しを使用します | 'await' コンテキストのタスクのような式に 'ConfigureAwait(false)' 呼び出しを追加します。 |
明示的破棄宣言を使用する | 'var' を破棄宣言に追加して '_' という名前の他の要素との衝突を防ぎます。 |
明示的または暗黙的なタプルコンポーネント名を使用する | 明示的タプルコンポーネント名と暗黙的タプルコンポーネント名を切り替えます。 タプルコンポーネントリファレンスで利用できます。 |
フォーマット文字列を使用する | いくつかの文字列と他のオブジェクトの連結を 'String.Format' メソッドの使用に変換します。 詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。 |
暗黙の破棄宣言を使用する | 破棄宣言から冗長な 'var' キーワードを削除します。 |
「MinBy」または「MaxBy」を使用する | 'First' や 'Last' でのオーダー取得の代わりに 'MinBy' や 'MaxBy' を使用します。 |
'nameof' 式を使用してエンティティの名前をキャプチャーします | 文字列リテラルにハードコードする代わりに、'nameof' 式を使ってエンティティの命名を取得します。 |
割り当て /.Add() メソッド呼び出しの代わりにオブジェクト / コレクション初期化子を使用する | 一連の割り当てや 'Add()' 呼び出しをオブジェクトまたはコレクションのイニシャライザー式に置き換えます。 詳細については、 コードインスペクション: 可能であればオブジェクトまたはコレクションイニシャライザーを使用する を参照してください。 |
位置分解パターンを使用する | 再帰パターンのプロパティパターンメンバーを位置分解パターンに置き換えます。 |
分解宣言 / パターンで別々の宣言を使用する | 単一の宣言を分解内の別々の変数宣言に置き換えます。 |
スタックに割り当てられた変数に Span <T> を使用する | スタック割当変数に Span<T> を使用します。 |
文字列補間を使用する | いくつかの文字列とほかのオブジェクトの連結を文字列補間の使用に変換します。 |
'string.Empty' を使用する | "" リテラルの代わりに 'string.Empty' を使用する。 |
'System.Environment.NewLine' 値を使用する | "\n"、"\r" または "\r\n" リテラルの代わりに 'System.Environment.NewLine' を使用します。 |
ターゲットタイプの新しいを使用する | 明示的な型指定を削除し、'new' 式を単純化します。 |
型エイリアスを使用する | 可能な場合は選択した型エイリアスを使用します。 |
複数の変数を持つ宣言を分解するには、「var (...)」構文を使用します | 'var (...)' 構文を使用し、明示的な型を持つ複数の変数宣言を置き換えて、すべて暗黙的に型指定されたものにします。 |
ドキュメントを書く | 宣言のための XML ドキュメントを作成します。 |