JetBrains Rider 2020.2ヘルプ

コンテキスト・アクション

Alt+Enter

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

JetBrains Riderは、サポートされているすべての言語で数百のコンテキストアクションを提供します。完全なリストはコンテキストアクションリファレンスにあります。

コンテキストアクションを適用する

現在のキャレット位置でコンテキストアクションが使用可能になるとすぐに、JetBrains Riderは対応するアクションインジケーター ThemedIcon ContextAction Screen Gray png をキャレットの左側に表示します。しかし時々、JetBrains Riderは現在のキャレットポジションのために文脈上利用可能ないくつかの機能を提供します。この場合、最も優先度の高いアクションに対応するアクションインジケータが表示され、その他のすべてのアクションは、アクションインジケータをクリックするか、Alt+Enter を押してアクションリストを展開したときにのみ表示されます。コンテキストアクションは最も優先順位が低いため、アクションリストの一番下に表示されることがよくあります。

Action list

ほとんどの場合、コンテキストアクションはただちに適用されます。ただし、アクションの中には、コードをどの程度正確に変換するかを選択するためのユーザー操作が必要なものもあります。このような場合、ホットスポットセッションがエディターに配備され、提案された値の1つを選択するか、アクティブな入力位置に独自の値を入力できます。

例:'foreach' を介してコレクションを反復するコンテキストアクションを適用すると、次のようになります。

Coding Assistance Context Actions foreach 01 png

foreach ステートメントを作成した後、ホットスポットセッションを使用すると、生成されたステートメントの編集可能なパラメーターを補完させることができます。

Coding Assistance Context Actions foreach 02 png

ホットスポットセッションを完了するには:

  • JetBrains Riderが現在のパラメータにいくつかの値を提案している場合は、UpDown の矢印キーを使用して推奨値のリストをナビゲートするか、目的の値を入力してください。

  • Tab または Enter を押して値を受け入れ、次のパラメータの入力位置に移動します。これが最後のパラメータである場合、ホットスポットセッションは完了し、キャレットはセッション用に定義された終了位置に移動します。

  • Shift+Tab を押すと、入力フォーカスが前のパラメータの入力位置に移動します。

  • Esc を押してホットスポットセッションを終了します。この場合、すべてのセッションパラメータはデフォルト値で初期化されます。

コンテキストアクションを構成する

デフォルトでは、ほとんどのコンテキストアクションが有効になっていますが、役に立たないと思われるアクションは簡単に無効にすることができます。

  1. Ctrl+Alt+S を押すか、メニューからファイル | 設定(WindowsおよびLinux)またはJetBrains Rider | 環境設定(macOS)を選択します。

  2. 設定/環境設定ダイアログの検索ボックスを使用して、特定のコンテキストアクションを検索します。
    または、エディター | コンテキスト・アクションページを開いて、無効にするコンテキストアクションを探します。

  3. コンテキストアクションの横にあるチェックボックスをオフにして無効にします。

  4. 設定ダイアログで保存をクリックして変更を適用し、JetBrains Riderに保存場所を選択させるか、次へ保存リストを使用して特定の設定レイヤーに変更を保存します。詳細については、レイヤーベースの設定を参照してください。

より広い範囲でコンテキストアクションを適用する

コンテキストアクションの中には、現在のファイル、現在のプロジェクト、またはソリューション全体で、より広い範囲の類似したコード項目を自動的に検索および変更できるものがあります。これらのコンテキストアクションは、スコープの修正と同じように機能します。例:すべてのタイプを現在のファイルから新しい一致するファイルに移動できます:

Applying context action in a wider scope

広い範囲に適用できるコンテキストアクションの完全なリストは次のとおりです。

C#

  • 現在の引数と次の引数に名前を追加する

  • 別のアクセサーを追加する

  • switch セクション・ステートメントにブロック波括弧を追加する

  • 分解パターンコンポーネント名を追加

  • 引数に名前を追加する

  • タプルコンポーネント名を追加

  • 式の本文メンバーを文の本文に変換する

  • 整数リテラルをバイナリ形式に変換する

  • 整数リテラルを16進形式に変換する

  • 整数リテラルを10進形式に変換する

  • 文字列補間を 'string.Format' 呼び出しに変換する

  • メンバー値チェック式を再帰パターンに変換する

  • 型、静的メンバーまたは名前空間への参照を完全修飾する

  • メンバーアクセスをオブジェクトパターンに含める

  • 整数リテラルに桁区切りを挿入する

  • 実数リテラルに桁区切りを挿入する

  • ジェネリックメソッド呼び出し型引数を挿入する

  • 拡張メソッドを静的メソッドとして呼び出す

  • 属性を単一のセクションに結合する

  • 順次検査をnull伝播式にマージする

  • 名前を一致させるためにタイプを別のファイルに移動する

  • static usingディレクティブを使用してインポートされた静的メンバーを修飾する

  • #region、#endregionディレクティブを削除 (#regionブロックの追加と削除を参照してください )

  • 引数名を除去する

  • 数値リテラルから桁区切り記号を削除する

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

  • タプルコンポーネント名を削除

  • 「?:」をnull伝播式で置き換える

  • 配列初期化子を式で置き換える

  • 明示的な型指定を 'var' に置き換える

  • null伝播式を '?:'条件演算子で置き換えます

  • 個別の宣言宣言を単一の宣言に置き換える

  • 'var' を明示的な型宣言で置き換える

  • enumメンバー値を指定する

  • 属性を別々のセクションに分割する

  • null伝播式を順次チェックに分割する

  • 明示的破棄宣言を使用する

  • 暗黙の破棄宣言を使用する

  • 分解宣言/パターンで別々の宣言を使用する

  • 文字列補間を使用する

TypeScript

  • 名前を一致させるためにタイプを別のファイルに移動する

VB.NET

  • 文字列補間を使用する

最終更新日:

関連ページ:

コードの課題のクイックフィックス

JetBrains Riderを使用すると、設計時に検出されたほとんどのコード課題を即座に修復できます。強調表示されたコードの課題で を押して、課題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。クイックフィックスを適用する:クイックフィックスは、ハイ...

リファクタリング

JetBrains Riderは、シンボルの名前変更、移動、および安全な削除を可能にする、一連の自動化されたソリューション全体のコードリファクタリングを提供します。フィールド、変数、またはパラメータを導入してインライン化し、さらに多くの変換を簡単に実行できます。リファクタリングに加えて、JetBra...

アクションインジケータとアクションリスト

Riderのテキストエディターで最も注目すべきことは、アクションインジケータとアクションリストです。これらは、JetBrains Riderによってサポートされるすべてのファイル(C#、VB.NET、XML、CSS、JavaScript、ASP.NETなど)に表示され、使用可能なアクションについて通...

ホットスポットセッション

JetBrains Riderの多くの機能は、エディターでコードのブロックを挿入または置換します。このブロックを完了するためにユーザー入力が必要な場合、これらの機能は多くの場合インタラクティブに機能するため、JetBrains Riderはコードブロックの挿入直後に利用可能なすべての提案と変更をガイ...

レイヤーベースの設定

Rider設定ダイアログ では、ページアイコンを見て、特定のページに使用されている設定管理メカニズムを確認できます。任意のアイコンでマークされていないページは、ユーザープロファイルに保存されているIDE設定をホストします。レイヤーベースの設定はReSharperと互換性があるため、ReSharper...

スコープの修正

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