ReSharper 2020.3 ヘルプ

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

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

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

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

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

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

    • 選択したコードブロックの左側にサラウンドアクションインジケーター Themed icon surround template screen gray表示されたら、すぐに 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 はエディターにホットスポットセッションをデプロイし、最初のパラメーターに入力位置を設定します。次に、次のことを実行できます。
    • If ReSharper suggests some values for the current parameter, use UpDown arrow keys to navigate through the list of suggested values, or just type in a desired value.

    • 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 の対応するトピックを参照してください。

関連ページ:

入力支援

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

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

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

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

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

ASP.NETMVC 固有の機能

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 サポートを提供します。.proto ファイルの ReSharper 機能を無効にするには、ReSharper オプション(Alt+R, O)のページでプロ...