コンテキストアクション
コンテキストアクションは、エディターで直接利用できるコード変換ヘルパーです。クイックフィックスとは対照的に、コンテキストアクションは問題の解決やコードの改善を目的としているためはなく、アクセス修飾子の変更、null をチェックするコードの生成、'foreach' の 'for' への変換などの小さな変更を素早く導入できます。
JetBrains Rider は、サポートされているすべての言語で数百のコンテキストアクションを提供します。完全なリストは、JetBrains Rider 設定 Ctrl+Alt+S のコンテキストアクションのリストにあります。
ページおよびコンテキストアクションを適用する
現在のキャレット位置でコンテキストアクションが使用可能になるとすぐに、JetBrains Rider は対応するアクションインジケーター をキャレットの左側に表示します。しかし時々、JetBrains Rider は現在のキャレットポジションのために文脈上利用可能ないくつかの機能を提供します。この場合、最も優先度の高いアクションに対応するアクションインジケータが表示され、その他のすべてのアクションは、アクションインジケータをクリックするか、Alt+Enter を押してアクションリストを展開したときにのみ表示されます。コンテキストアクションは最も優先順位が低いため、アクションリストの一番下に表示されることがよくあります。
![アクションリスト Action list](https://resources.jetbrains.com/help/img/rider/2024.1/actions_list_2.png)
ほとんどの場合、コンテキストアクションはすぐに適用されます。ただし、一部のアクションでは、コードをどの程度正確に変換するかを選択するためにユーザーの操作が必要です。このような場合、ホットスポットセッションがエディターにデプロイされ、提案された値の 1 つを選択するか、アクティブな入力位置に独自の値を指定できます。
例: 'foreach' を介してコレクションを反復するコンテキストアクションを適用すると、次のようになります。
![コンテキストアクション: foreach 1 Context actions. foreach 1](https://resources.jetbrains.com/help/img/rider/2024.1/Coding_Assistance__Context_Actions__foreach_01.png)
foreach
ステートメントを作成した後、ホットスポットセッションを使用すると、生成されたステートメントの編集可能なパラメーターを補完させることができます。
![コンテキストアクション: foreach 2 Context actions. foreach 2](https://resources.jetbrains.com/help/img/rider/2024.1/Coding_Assistance__Context_Actions__foreach_02.png)
ホットスポットセッションを完了するには:
JetBrains Rider が現在のパラメーターにいくつかの値を提案している場合は、Up と Down の矢印キーを使用して推奨値のリストを移動するか、目的の値を入力してください。
Tab または Enter を押して値を受け入れ、次のパラメーターの入力位置に移動します。これが最後のパラメーターである場合、ホットスポットセッションは完了し、キャレットはセッション用に定義された終了位置に移動します。
Shift+Tab を押すと、入力フォーカスが前のパラメーターの入力位置に移動します。
Esc を押してホットスポットセッションを終了します。この場合、すべてのセッションパラメーターはデフォルト値で初期化されます。
コンテキストアクションを構成する
コンテキストアクションの使用不可化
Ctrl+Alt+S を押すか、メニューから
(Windows および Linux)または (macOS) を選択します。設定 / 環境設定ダイアログの検索フィールドを使用して、特定のコンテキストアクションを見つけます。
または、
ページを開き、無効にするコンテキストアクションを探します。コンテキストアクションの横にあるチェックボックスをオフにして、無効にします。
設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。
コンテキストアクションにショートカットを割り当てる
エディターで、ショートカットを割り当てるコンテキストアクションをトリガーするコードにキャレットを置き、バルブアイコンをクリックするか、Alt+Enter を押します。
利用可能な提案のリストが開きます。
リストで、必要なコンテキストアクションの横にある
をクリックし、開いたメニューからショートカットの割り当て…を選択します。
キーボードショートカットダイアログが開いたら、このアクションに使用するショートカットを押して、OK をクリックします。
その後、エディターでこのコンテキストアクションを適用するために候補のリストを開く必要はなくなります。設定したショートカットを押すとすぐに実行できます。
すべてのカスタムコンテキストアクションのショートカットは設定で見つけることができます。Ctrl+Alt+S を押し、キーマップをクリックして、インテンションカテゴリを見つけます。
より広い範囲でコンテキストアクションを適用する
コンテキストアクションの中には、現在のファイル、現在のプロジェクト、ソリューション全体で、より広い範囲の類似したコード項目を自動的に検索および変更できるものがあります。これらのコンテキストアクションは、スコープを修正と同じように機能します。例: すべてのタイプを現在のファイルから新しい一致するファイルに移動できます:
![より広い範囲でコンテキストアクションを適用する Applying context action in a wider scope](https://resources.jetbrains.com/help/img/rider/2024.1/ca_in_scope.png)
広い範囲に適用できるコンテキストアクションの完全なリストは次のとおりです。
C#
別のアクセサーを追加する
switch セクションステートメントにブロック波括弧を追加する
波括弧の追加
分解パターンコンポーネント名を追加
匿名プロパティの明示的な名前を追加する
引数に名前を追加
タプルコンポーネント名を追加
「#pragma」ディレクティブに警告説明コメントを追加します
'set' と 'init' アクセサーを変更します
匿名型をタプルに変換する
コレクションの初期化子を 'Add' メソッド呼び出しに変換する
明示的な実装から明示的な実装への変換
式の本文メンバーを文の本文に変換する
式を「StringBuilder」に変換します
式を「StringBuilder」呼び出しに変換する
暗黙的インターフェースから明示的インターフェースへの変換を変換する
整数リテラルをバイナリ形式に変換する
整数リテラルを 16 進形式に変換します
整数リテラルを 10 進形式に変換する
メンバー値チェック式を再帰パターンに変換する
複数行の文字列を個別の 'AppendLine' 呼び出しに変換します
not null チェックをオブジェクトパターンチェックに変換する
オブジェクト初期化子を代入文に変換する
オブジェクト初期化子をコンストラクター呼び出しに変換します
文字列補間を 'string.Format' 呼び出しに変換する
'switch' 式を条件付きに変換しますか? : 式
'switch' 式を 'if' ステートメントに変換します
'switch' 式を 'switch' ステートメントに変換します
'switch' ステートメントを 'if' ステートメントに変換します
'switch' ステートメントを 'switch' 式に変換する
コレクション初期化子に変換する
個別の「Append」呼び出しと「AppendLine」呼び出しに変換します
'using' ステートメントに変換する
逐語的に生の文字列補間に変換する
逐語的に生の文字列リテラルに変換する
'with' 式を一時変数のミューテーションに変換する
'params' パラメーター引数から明示的な配列作成を作成します
一次コンストラクターの明示的なコンストラクター宣言を作成します
プライマリコンストラクターのパラメーターの明示的なフィールド宣言を作成する
位置パラメーターの明示的なプロパティ宣言を作成します
コメントの削除
型、静的メンバー、または名前空間への参照を完全修飾する
メンバーアクセスをオブジェクトパターンに含める
インライン一時変数
エイリアスを使用したインライン化
変数を条件式にインライン化する
整数リテラルに桁区切りを挿入する
実数リテラルに桁区切りを挿入する
ジェネリクスメソッド呼び出し型引数を挿入する
ラムダ式パラメーターの署名を挿入する
ラムダ式の戻り値の型指定を挿入
デフォルトリテラルの後に型指定を挿入する
拡張メソッドを通常の静的メソッドとして呼び出す
属性を単一のセクションに結合する
ローカル変数宣言と代入を結合する
順次検査を null 伝播式にマージする
順次 null/ パターンチェックを単一のパターンチェックにマージします
#nullableenable に移行します
コンストラクター内の代入を初期化子に移動する
名前を一致させるためにタイプを別のファイルに移動する
static using ディレクティブを使用してインポートされた静的メンバーを修飾します
#region、#endregion ディレクティブを削除
引数名の除去
分解パターンのコンポーネント名を削除
数値リテラルから桁区切り記号を削除する
余分な括弧を削除する
( コードの構文スタイル: オプションの括弧を参照)
タプルコンポーネント名を削除
「?:」を null 伝播式で置き換える
配列初期化子を式で置き換える
自動実装されたプロパティアクセサーを明示的に実装されたアクセサーに置き換える
自動プロパティをプロパティおよびバッキングフィールドに置き換える
自動プロパティをプロパティと「フィールド」キーワードに置き換えます
明示的な型指定を 'var' に置き換える
「field」キーワードを明示的なフィールド宣言に置き換えます
null 伝播式を '?:' 条件演算子で置き換えます
個別の宣言宣言を単一の宣言に置き換える
'var' を明示的な型宣言で置き換える
アクセス式に置き換える
作成したタイプを指定します
enum メンバー値を指定する
'および' パターンを複数の 'is' 式またはガード式に分割する
属性を別々のセクションに分割する
ネストされたパターンに分割
null 伝播式を順次チェックに分割する
'または' パターンを複数の 'is' 式または 'switch' ケースに分割する
再帰パターンをいくつかの連続したチェックに分割します
「var」パターンを別の変数宣言に分割する
ブロックスコープの名前空間へ
ファイルスコープの名前空間へ
名前付きプロパティパターン
へ'ConfigureAwait(false)' 呼び出しを使用します
明示的破棄宣言を使用する
暗黙の破棄宣言を使用する
'nameof' 式を使用してエンティティの名前をキャプチャーします
割り当て /.Add() メソッド呼び出しの代わりにオブジェクト / コレクション初期化子を使用する
位置分解パターンを使用する
分解宣言 / パターンで別々の宣言を使用する
文字列補間を使用する
ターゲットタイプの新しいを使用する
複数の変数を持つ宣言を分解するには、「var (...)」構文を使用します
TypeScript
名前を一致させるためにタイプを別のファイルに移動する
Unity
名前付きアセンブリ定義参照に変換
VB.NET
文字列補間を使用する
コンテキストアクションのリスト
以下のリンクを使用して、特定の言語で使用できるコンテキストアクションの完全なリストを表示します。
関連ページ:
![](https://pleiades.io/icons/rider.png)
コードの問題のクイックフィックス
JetBrains Rider を使用すると、設計時に検出されたほとんどのコード問題を即座に修復できます。ハイライトされたコードの問題でを押して、問題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。クイックフィックスの適用:クイックフィックスは、ハイライトされたコードの問題の左側にアクションインジケーターとして視覚的に表示されます。これらのインジケーターは、コードの問題にキャレットを置くと表示されます。次のインジケーターは、簡単な修正を意味する
![](https://resources.jetbrains.com/help/img/rider/2024.1/actions_list_2.png)
アクションインジケーターとアクションリスト
Rider のテキストエディターで最も注目すべきことは、アクションインジケータとアクションリストです。これらは、JetBrains Rider によってサポートされるすべてのファイル(C#、VB.NET、XML、CSS、JavaScript、ASP.NET など)に表示され、使用可能なアクションについて通知し、それらの適用を支援します。アクションインジケータ:アクションインジケーターは、テキストエディターの左余白に表示されるアイコンです。これらのアイコンは、対応する行とキャレット位置で使用でき...
![](https://resources.jetbrains.com/help/img/rider/2024.1/settings_default.png)
レイヤーベースの設定
Rider 設定ダイアログでは、ページアイコンを見て、特定のページに使用されている設定管理メカニズムを確認できます。任意のアイコンでマークされていないページは、ユーザープロファイルに保存されている IDE 設定をホストします。レイヤーベースの設定は ReSharper と互換性があるため、ReSharper を使用している場合、チームメンバーのいずれかがそれを使用している場合、Rider は ReSharper で構成した設定を読み取って適用できます。「ソリューションパーソナル」および「ソリュ...
![](https://resources.jetbrains.com/help/img/rider/2024.1/naming_style_quick_fix.png)
スコープを修正
ほとんどのクイックフィックスは、キャレットで現在の問題を修正できますが、中には (たとえば、未使用のディレクティブを削除する、フィールドを読み取り専用にする、冗長なキャストの除去など)、現在のファイル、現在のプロジェクト、ソリューション全体など、より大きな範囲で問題を自動的に見つけて修正できるものもあります。範囲内の修正を適用する:このような修正は、アクションリストの横に表示される小さな矢印で識別できます。範囲内の修正を適用する JetBrains Rider のインスペクションでハイライトされ...
![](https://resources.jetbrains.com/help/img/rider/2024.1/surround_with_region.png)
#region ブロックを追加および削除する
JetBrains Rider は、コード内のブロックを迅速に追加、移動、削除できます。エディターでリージョンを管理する:エディター内で、現在の選択範囲をリージョンですばやく囲むことができます。JetBrains Rider はおよびディレクティブを追加し、領域名を入力できる位置にキャレットを配置します。コード要素を移動する機能を使用して、リージョンをさまざまな方法で移動することもできます。ディレクティブとディレクティブを上下に移動して、領域に隣接する要素が含まれるようにしたり、要素が領域から...
![](https://resources.jetbrains.com/help/img/rider/2024.1/ReSharper_by_Language__CSS__Select_Color.png)
カラーアシスタンス
JetBrains Rider には、コード内のカラー定義を扱うための一連の機能が用意されています。色がどのように定義されているかに関係なく、エディター内のすべての色の値には、対応する色のアイコンがあります。カラーアイコンの上にマウスを置くと、他の形式でカラー値を確認できます。色は補完リストでも視覚化されています。ハイライトされている色の定義が表示されている場合は、専用のビジュアルエディターを使用して色の定義を変更できます。色の定義を変更するキャレットをハイライトされた色の定義に置きます。を押し...