ReSharper 2019.2ヘルプ

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

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

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

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

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

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

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

      actions list surround
      指定されたニーモニック数字を持つテンプレートのみが囲む...に表示されます。

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

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

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

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

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

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

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

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

この文を using 指示文で囲みたいと思います。ReSharperは対応する定義済みのテンプレートを提供し、この操作を合理化します。このコードブロックを選択した後に Ctrl+Alt+J を押すと、使用可能なテンプレートを含むドロップダウンリストが開きます。

swTryCatch2

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

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

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

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

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

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

swTryCatch3

最初のパラメータで必要な使い捨てリソースを指定し、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 availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is not availableFeature is not available

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

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

関連事項

関連ページ:

入力支援

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

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

ReSharperがVisual Studioのテキストエディターに追加する最も目立つものは、アクションインジケータとアクションリストです。ReSharper(C#、VB.NET、XML、CSS、JavaScript、ASP.NETなど)でサポートされているすべてのファイルに表示され、利用可能な操作...

ライブ/サラウンドテンプレートの作成

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

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

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

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

多くのReSharper機能は、エディター内のコードブロックを挿入または置換します。このブロックを完成させるためにユーザー入力が必要な場合は、コードブロックが挿入された直後にReSharperが利用可能なすべての提案や変更を案内するように、これらの機能は対話的に動作することがよくあります。この場合、...

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

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