ReSharper 2019.2ヘルプ

ステートメントの補完

ReSharper | 編集 | ステートメントの補完
Ctrl+Shift+Enter
ReSharper_CompleteStatement

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

ステートメント補完を呼び出す

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

  2. Ctrl+Shift+Enter を押すか、メインメニューからReSharper | 編集 | ステートメントの補完を選択します。あるいは、Ctrl+Shift+Aを押して、ポップアップでコマンド名を入力して、そこで選択することもできます。

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

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

public void Foo(string input

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

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

  • Enterを押します。

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

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

ReSharperでは、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*/

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

Language: C#Language: VB.NETLanguage: C++Language: HTMLLanguage: ASP.NETLanguage: RazorLanguage: JavaScriptLanguage: TypeScriptLanguage: CSSLanguage: XMLLanguage: XAMLLanguage: ResxLanguage: Build ScriptsLanguage: ProtobufLanguage: JSON
Feature is availableFeature is availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not availableFeature is not available

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

最終更新日: 2019年8月16日

関連事項

関連ページ:

異なる言語でのReSharperの機能

以下の表は、各ReSharper機能がサポートされている言語/技術を説明しています。言語固有の機能のみを一覧表示し、プロジェクト依存関係図、名前空間の調整リファクタリング、スタックトレースエクスプローラー、最近のファイルを見るなどのプロジェクト/ソリューションのスコープには多くの機能は含まれていませ...

ASP.NET MVC特有の機能

ReSharperには、一般的なASP.NET機能に加えて、ASP.NET MVCでの作業をより簡単にサポートする特殊機能があります。構文の強調表示:ASP.NET MVCメソッドの呼び出しとパラメータに対する特別な構文の強調表示コード補完:文字列リテラルでアクションとコントローラーを参照するための...

言語によるReSharper: MSビルド

MSBuildは、アプリケーションを構築するために広く使用されているプラットフォームです。特定のXMLタグを使用して、プロジェクトの構築方法や実行方法を定義できます。ReSharperを使用すると、より速く行うことができます。必要に応じて、ReSharperオプションのページで対応するチェックボック...

言語によるReSharper: Googleプロトコルバッファ (プロトブフ)

ReSharperは、Googleプロトコルバッファ(Protobuf)バージョン2.xおよび3.0の.protoファイルでIDEサポートを提供します。必要に応じて、ReSharperオプションのページで対応するチェックボックスをオフにして、.protoファイルのReSharper機能を無効/有効に...

言語JSONによるReSharper

JSONとJSONスキーマのサポートは、現在のような基本的なようなものの範囲構文が強調表示のような、より洗練された機能には、(古いVisual Studioのバージョンを含む) のフォーマットとコードを再配置(たとえば、あなたの周囲のオブジェクトのプロパティーまたは任意の選択を移動することができます...

入力支援

ReSharperは補完リストで後置テンプレートを使ってよりスマートな支援を提供します。補完リストでスマートな提案を提供することによってあなたの時間を節約することに加えて、ReSharperはあなたのコードをさらに速く作成して、編集することを可能にする他のタイピング支援機能を提供します。マッチング区...