ReSharper 2020.2ヘルプ

コードフラグメントをテンプレートで囲む

ReSharper | 編集 | テンプレートで囲む…
Alt+Control+J
ReSharper_SurroundWith

サラウンドテンプレートを使用して、式、単一のステートメント、または任意のコードブロックを if...else , try...catch または他のコード構造ですばやく囲みます。テンプレートが展開されると、ReSharperはコードをインテリジェントに再フォーマットし、選択範囲を調整し、最後にキャレットを再配置して、手軽な位置から入力を続けられるようにします。

サラウンドテンプレートを適用する

  1. エディターで、テンプレートで囲むコードブロックを選択します。

  2. 以下のいずれか 1 つを実行します:

    • 選択したコードブロックの左側にサラウンドアクションインジケーター ThemedIcon SurroundTemplate Screen Gray png表示されたら、すぐに Alt+Enter を押すか、インジケーターをクリックして、アクションリストで目的のサラウンドテンプレートを選択します。

      ReSharper: Surround templates in the action list (Alt+Enter)
      囲む...に表示されるのは、指定されたニーモニック数字を持つテンプレートのみであることに注意してください。

    • Alt+Control+J を押すか、メインメニューでReSharper | 編集 | テンプレートで囲む…を選択します。表示される囲むポップアップで、目的のテンプレートを選択するか、テンプレート名の入力を開始してリストを絞り込みます。

    • 選択が行われると、テンプレート名の入力を開始するだけです。もちろん、選択は最初は消えますが、補完リストでテンプレートを選択して Enterを押すとすぐに、テンプレートに囲まれた選択が再表示されます:

      ReSharper: Surround templates in the completion list

  3. テンプレートに編集可能なパラメーターがある場合(つまり、ユーザー入力が必要な場合)、ReSharperはホットスポットセッションをエディターにデプロイし、最初のパラメーターに入力位置を設定します。次に、次の操作を実行できます。
    • ReSharperが現在のパラメータの値を提案している場合は、UpDown の矢印キーを使用して推奨値のリストをナビゲートするか、目的の値を入力してください。

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

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

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

以下のコード断片を考えてみましょう。

var fileStream = new FileStream("file.txt", FileMode.Open);

ステートメントを using ディレクティブで囲みます。ReSharperは、この操作を合理化するために、対応する事前定義されたテンプレートを便利に提供します。このコードブロックを選択した後に Alt+Control+J を押すと、使用可能なテンプレートのリストが開きます。

ReSharper: Surrounding statments with 'using'

使用するテンプレートを選択するには、次のいずれかを実行できます。

  • マウスでクリックします。

  • 矢印キーを使用して対応するメニュー項目に移動し、Enterを押します。

  • ポップアップが開いたら、usi... と入力し始めます。

  • テンプレートの横に表示されているテンプレートニーモニックディジットに対応するキーを押します。

テンプレートのパラメータに値を指定できるように、ReSharperはテンプレートコードを挿入し、エディターにホットスポットセッションを配置します。

ReSharper: Surrounding statments with 'using'

最初のパラメータで必要な使い捨てリソースを指定し、Tab または Enter を押してホットスポットセッションを完了します。キャレットと選択は、テンプレートデザイナーが指定した位置に移動されるため、作成した using ステートメントの内部で入力を続けることができます。

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

Language: C#Language: VB.NETLanguage: C++Language: HTMLLanguage: ASP.NETLanguage: RazorLanguage: JavaScriptLanguage: TypeScriptLanguage: CSSLanguage: XMLLanguage: XAMLLanguage: ResxLanguage: Build ScriptsLanguage: ProtobufLanguage: JSON
Feature is available in C#Feature is available in Visual Basic .NETFeature is available in C++Feature is available in HTMLFeature is available in ASP.NETFeature is available in RazorFeature is available in JavaScriptFeature is available in TypeScriptFeature is available in CSSFeature is available in XMLFeature is available in XAMLFeature is available in Resource filesFeature is available in build script filesFeature is not available in ProtobufFeature is not available in JSON

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

最終更新日: 2020年8月21日

関連ページ:

入力支援

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

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

ReSharperがVisual Studioテキストエディターに追加する最も注目すべきものには、アクションインジケータとアクションリストがあります。これらは、ReSharperでサポートされるすべてのファイル(C#、VB.NET、XML、CSS、JavaScript、ASP.NETなど)に表示され...

ライブ/サラウンドテンプレートを作成する

ライブ/サラウンドテンプレートは、既存のファイルでコードを生成するために、および(テンプレート本体にパラメーターがある場合)ステートメントなどのテンプレートコードでコードを囲むために使用できます。各ライブテンプレートはショートカット(foreachなどの短い文字列)で識別され、エディターで直接入力し...

テンプレート・パラメーター

コードテンプレートの本体には、次のものが含まれます。ソースコードの構造とコメントを表すプレーンテキスト。テンプレートを適用するとそのまま挿入されます。テンプレートを適用すると動的に置き換えられるテンプレートパラメータ。テンプレートパラメータの形式は次のとおりです。-は任意の識別子です。形式が正しい場...

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

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

C#用の定義済みサラウンドテンプレート

ReSharper | テンプレートエクスプローラー | サラウンドテンプレート | C#このトピックでは、ReSharper 2020.1のC#用に事前定義されたサラウンドテンプレートをすべてリストします。サラウンドテンプレートの詳細については、コードフラグメントをテンプレートで囲むを参照してくだ...