JetBrains Rider 2020.2ヘルプ

ステートメントの補完

Ctrl+Shift+Enter

このコマンドは、必要な構文要素(括弧、中括弧、セミコロンなど)を挿入し、次のステートメントの入力を開始できる位置に移動します。

現在のステートメントの補完

  1. ステートメントのコアを入力します(例については以下のシナリオを参照)。

  2. Ctrl+Shift+Enterを押します。

このコマンドは、括弧の自動クローズ、セミコロンの追加、if , while および for ステートメントの完成など、さまざまなシナリオで役立ちます。

例:新しいメソッドを宣言するたびに、ステートメント補完はメソッドのパラメータを指定した後に便利です:

public void Foo(string input

この時点で、メソッド本体の記述を開始するには、通常次のようにしなければなりません。

  • 括弧がない場合は挿入してください。

  • Enterを押します。

  • 開口部波括弧を挿入します。

  • もう一度 Enter を押してください。

JetBrains Riderでは、Ctrl+Shift+Enterを押すだけで、閉じ括弧と波括弧の両方が自動的に挿入され、メソッド本体の作成を続けることができる場所にキャレットを置くことができます:

public void Foo(string input) { // the caret is here }

同様の方法で、ステートメント補完は次の言語構成で動作します。

  • 型と型のメンバー : クラス、インターフェース、構造体、列挙型、デリゲート、フィールド、イベント、およびメソッドの宣言。

  • ステートメント : if , while , do , switch , using , lock , continue , break、および return ステートメント case 句と default 句単一行ステートメントからブロックステートメントへの変換。

  • : 呼び出し、要素アクセス、文字列/文字リテラル。オブジェクト、メンバー、およびコレクションアイテムの初期化子。無名型と暗黙的に型指定された配列を作成する式。

以下に、異なる文脈で完全な文コマンドを適用する例をいくつか見てみましょう。

ユースケースステートメント補完の前にステートメント補完の後
クラス宣言
public class Foo/*caret*/
public class Foo { /*caret*/ }
デリゲート宣言
delegate void ChangeHandler(object sender/*caret*/
internal delegate void ChangeHandler(object sender); /*caret*/
ネストされたメソッドの呼び出し
myVar.DoSomething(foo.Bar(value/*caret*/
myVar.DoSomething(foo.Bar(value)); /*caret*/
if ステートメント
if(myVar != null/*caret*/
if(myVar != null) { /*caret*/ }
case
switch (position) { case Position.Last/*caret*/ }
switch (position) { case Position.Last: /*caret*/ }
単一行ステートメントのブロックへの変換 (ケースA)
if(myVar != null) position = Position.Last;/*caret*/
if(myVar != null) { position = Position.Last; /*caret*/ }
単一行ステートメントのブロックへの変換 (ケースB)
if(myVar != null) /*caret*/position = Position.Last;
if(myVar != null) { /*caret*/ position = Position.Last; }
要素アクセス式
var myValues = new Value[10/*caret*/
var myValues = new Value[10]; /*caret*/
最終更新日: