後置テンプレート
ポストフィックステンプレートを使うと、すでに入力した式を後戻りせずに変換できます。式の後にドットを入力し、 補完リストからテンプレートを選択します。
後置テンプレートを適用する
後置テンプレートの最も簡単な例の 1 つは、ブール式を否定することです。 ブール式をタイプしただけで、比較ロジックを逆にする必要があることに気が付いたとします。 通常はキャレットを戻して、 == を != に逆にしたりして、元の場所に戻る必要があります。 ReSharper なら、 .not を引き続き入力して
Enter
を押せば大丈夫です。
コーディングを高速化するために使用できる より多くの後置テンプレートがあります。 例: 現在の式を if、 while、 lock、 using でラップしたり、現在の式の前に return、 yield return、 await を追加したり、コレクションを反復したり、switch ステートメントを生成したり、式を特定の型にキャストしたり、式のフィールドやプロパティを導入したりできます。
後置テンプレートは、入力ルーチンを変更することさえできます。 以下の CheckInput メソッドを考えて、null チェック節をどのように入力するかを想像してください。
後置テンプレートを使ってそれをどうやってやることができるかを見てみましょう。
キャレットがメソッド本体にある状態ですぐに input の入力を始められます。それをチェックしたいからです。 input がある場合は、そのまま .null を入力し続けます。 null をチェックするためのポストフィックステンプレートです:

これにより、 input と null が比較され、その比較が if ステートメントでラップされ、入力を続行できる位置にキャレットが配置されます。

今度は、 throw と入力する代わりに、例外クラス名を入力して .throw テンプレートを呼び出してください。

このテンプレートを適用すると、完全な throw ステートメントと、引数を入力する場所にキャレットが表示されます。

頻繁に使用される言語構造を手動で入力するのではなく、多くの場合、テンプレートショートカットの最初の文字を 2 文字だけ入力して、適切にフォーマットされ、すべてのものを適切な形で入力することができます。
後置テンプレートを適用する
現在の式の後にドットを入力し、目的のテンプレートの補完リストを確認します。
適用しようとしているテンプレートのショートカットを知っているなら、それをタイプし始めましょう - これは提案のリストを縮小するでしょう。
現在のコンテキストによっては、一部の後置テンプレートが補完リストに含まれていない場合があります。 目的のテンプレートが表示されないが、それでも使用したい場合は、 Control+Space を 2 回押して、補完リストのすべてのテンプレートを表示します。
候補リストで目的のテンプレートが選択されたら、 Enter を押してください。
テンプレートに 編集可能なパラメーター (つまりユーザー入力が必要)がある場合、ReSharper はエディターで ホットスポットセッションを展開し、最初のパラメーターの入力位置を設定します。 次に下記のことを実行できます。
ReSharper が現在のパラメーターに値を提案している場合、 アップ および ダウン の方向キーで推奨値のリストを移動するか、希望の値を直接入力してください。
タブ または Enter を押して値を確定し、次のパラメーターの入力位置に移動します。 これが最後のパラメーターである場合、ホットスポットセッションは完了し、キャレットはセッション用に定義された終了位置に移動します。
Shift+Tab を押すと、前のパラメーターの入力位置に入力フォーカスが移動します。
Esc を押してホットスポットセッションを終了します。 この場合、すべてのセッションパラメーターはデフォルト値で初期化されます。
後置テンプレートを構成する
後置テンプレートはデフォルトで有効になっています。 次の場合に補完リストに表示されます。
ReSharper IntelliSense は、ReSharper オプション ページで有効化されています Alt+R、O 。
後置テンプレートを表示する は、ReSharper オプション ページで選択されています Alt+R、O 。
特定のポストフィックステンプレートを無効化するには、ReSharper オプション ページで対応するチェックボックスをオフにします Alt+R、O 。
補完リストでテンプレートを非表示にしたり、逆に他のすべてのアイテムを非表示にしたりするには、 完了フィルターを使用します。
後置テンプレートのリスト
ショートカット | 説明 | サンプル |
|---|---|---|
.arg | 呼び出しによる式の囲み |
|
.await | 'タスク' タイプの表現を待ちます |
|
.cast | キャストで表現を囲む |
|
.else | ブール式を 'false' にチェックします。 |
|
.field | 表現の場を紹介する |
|
.for | コレクションをインデックスで繰り返し処理する |
|
.foreach | 列挙可能なコレクションを繰り返し処理する |
|
.forr | インデックスを逆にしてコレクションを反復処理する |
|
.if | ブール式を 'true' にチェックします。 |
|
.inject | 型のプライマリコンストラクターパラメーターを導入します |
|
.lock | ロックブロックで表現を囲む |
|
.new | 型のインスタンス化式を生成する |
|
.not | ブール式を否定します |
|
.notnull | 式が null でないことをチェックします |
|
.null | 式を null にチェックします |
|
.par | 現在の式を括弧で囲みます |
|
.parse | 文字列をある型の値として解析します |
|
.prop | 表現のための特性を導入する |
|
.return | 現在の関数から式を返す |
|
.sel | エディターで式を選択します |
|
.switch | switch 文を生成する |
|
.throw | '例外' 型の式をスローします |
|
.to | 現在の式を変数に代入する |
|
.tryparse | 文字列をある型の値として解析します |
|
.typeof | typeof() 式で型の使用をラップします |
|
.using | ステートメントを使用してリソースをラップする |
|
.var | 式の変数を導入する |
|
.while | ブールステートメントが '真' である間、反復する |
|
.yield | イテレータメソッドの値を返します |
|
ショートカット | 説明 | サンプル |
|---|---|---|
.beg..end | 範囲からイテレータを生成する |
|
.Cast | 式を UE キャストで囲みます |
|
.cbeg..cend | 範囲からイテレータを生成する |
|
.co_await | co_await に引数として式を渡します |
|
.co_return | 現在のコルーチンから式を返します |
|
.co_yield | co_yield に引数として式を渡します |
|
.const_cast | const_cast で式を囲む |
|
.do | ブール式が '偽' になるまで反復する |
|
.dynamic_cast | dynamic_cast で表現を囲む |
|
.else | ブール式を 'false' にチェックします。 |
|
.foreach | 範囲を反復する |
|
.forward | Forwards 関数パラメーター |
|
.if | ブール式を 'true' にチェックします。 |
|
.make_shared | オブジェクトを構築し、std::shared_ptr にラップします。 |
|
.make_unique | オブジェクトを構築し、std::unique_ptr にラップします。 |
|
.new | 型のインスタンス化式を生成する |
|
.reinterpret_cast | reinterpret_cast で式を囲む |
|
.return | 現在の関数から式を返す |
|
.safe_cast | safe_cast で式を囲む (C++/CLI) |
|
.static_cast | static_cast で式を囲む |
|
.switch | 積分 / 列挙型よりもスイッチを生成する |
|
.var | 式の変数を導入する |
|
.while | ブール式が真である間、反復する |
|
ショートカット | 説明 | サンプル |
|---|---|---|
.else | ブール式を 'false' にチェックします。 |
|
.forof | 反復可能なオブジェクトを反復処理する |
|
.if | ブール式を 'true' にチェックします。 |
|
.notnull | 式が null でないことをチェックします |
|
.notundefined | 式が未定義であることをチェックします |
|
.null | 式を null にチェックします |
|
.return | 現在の関数から式を返す |
|
.undefined | 定義されていない式をチェックします |
|
.var | 式の変数を導入する |
|
ショートカット | 説明 | サンプル |
|---|---|---|
.else | ブール式を 'false' にチェックします。 |
|
.forof | 反復可能なオブジェクトを反復処理する |
|
.if | ブール式を 'true' にチェックします。 |
|
.instanceof | 式のインスタンスをチェックする |
|
.notnull | 式が null でないことをチェックします |
|
.notundefined | 式が未定義であることをチェックします |
|
.null | 式を null にチェックします |
|
.return | 現在の関数から式を返す |
|
.typeof | 式のタイプをチェックする |
|
.undefined | 定義されていない式をチェックします |
|
.var | 式の変数を導入する |
|
この機能は、次の言語とテクノロジーで サポートされています。