ReSharper 2026.1 Help

後置テンプレート

ポストフィックステンプレートを使うと、すでに入力した式を後戻りせずに変換できます。式の後にドットを入力し、 補完リストからテンプレートを選択します。

後置テンプレートを適用する

後置テンプレートの最も簡単な例の 1 つは、ブール式を否定することです。 ブール式をタイプしただけで、比較ロジックを逆にする必要があることに気が付いたとします。 通常はキャレットを戻して、 ==!= に逆にしたりして、元の場所に戻る必要があります。 ReSharper なら、 .not を引き続き入力して Enter を押せば大丈夫です。

コーディングを高速化するために使用できる より多くの後置テンプレートがあります。 例: 現在の式を ifwhilelockusing でラップしたり、現在の式の前に returnyield returnawait を追加したり、コレクションを反復したり、switch ステートメントを生成したり、式を特定の型にキャストしたり、式のフィールドやプロパティを導入したりできます。

後置テンプレートは、入力ルーチンを変更することさえできます。 以下の CheckInput メソッドを考えて、null チェック節をどのように入力するかを想像してください。

private void CheckInput(string input) { if (input == null) { throw new ArgumentNullException("The input is null"); } // do something with 'input' }

後置テンプレートを使ってそれをどうやってやることができるかを見てみましょう。

キャレットがメソッド本体にある状態ですぐに input の入力を始められます。それをチェックしたいからです。 input がある場合は、そのまま .null を入力し続けます。 null をチェックするためのポストフィックステンプレートです:

null チェック用の後置テンプレートの適用

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

null チェック用の後置テンプレートの適用

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

null チェック用の後置テンプレートの適用

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

null チェック用の後置テンプレートの適用

頻繁に使用される言語構造を手動で入力するのではなく、多くの場合、テンプレートショートカットの最初の文字を 2 文字だけ入力して、適切にフォーマットされ、すべてのものを適切な形で入力することができます。

後置テンプレートを適用する

  1. 現在の式の後にドットを入力し、目的のテンプレートの補完リストを確認します。

  2. 適用しようとしているテンプレートのショートカットを知っているなら、それをタイプし始めましょう - これは提案のリストを縮小するでしょう。

  3. 現在のコンテキストによっては、一部の後置テンプレートが補完リストに含まれていない場合があります。 目的のテンプレートが表示されないが、それでも使用したい場合は、 Control+Space2 回押して、補完リストのすべてのテンプレートを表示します。

  4. 候補リストで目的のテンプレートが選択されたら、 Enter を押してください。

  5. テンプレートに 編集可能なパラメーター (つまりユーザー入力が必要)がある場合、ReSharper はエディターで ホットスポットセッションを展開し、最初のパラメーターの入力位置を設定します。 次に下記のことを実行できます。

    • ReSharper が現在のパラメーターに値を提案している場合、 アップ​​ および ダウン​​ の方向キーで推奨値のリストを移動するか、希望の値を直接入力してください。

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

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

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

後置テンプレートを構成する

後置テンプレートはデフォルトで有効になっています。 次の場合に補完リストに表示されます。

  • ReSharper IntelliSense は、ReSharper オプション 環境 | IntelliSense | 一般 ページで有効化されています Alt+R、O

  • 後置テンプレートを表示する は、ReSharper オプション コード編集 | 後置テンプレート ページで選択されています Alt+R、O

特定のポストフィックステンプレートを無効化するには、ReSharper オプション コード編集 | 後置テンプレート ページで対応するチェックボックスをオフにします Alt+R、O

補完リストでテンプレートを非表示にしたり、逆に他のすべてのアイテムを非表示にしたりするには、 完了フィルターを使用します。

後置テンプレートのリスト

ショートカット

説明

サンプル

.arg

呼び出しによる式の囲み

Method(expr)

.await

'タスク' タイプの表現を待ちます

await expr

.cast

キャストで表現を囲む

((SomeType) expr)

.else

ブール式を 'false' にチェックします。

if (!expr)

.field

表現の場を紹介する

_field = expr;

.for

コレクションをインデックスで繰り返し処理する

for (var i = 0; i < xs.Length; i++)

.foreach

列挙可能なコレクションを繰り返し処理する

foreach (var x in expr)

.forr

インデックスを逆にしてコレクションを反復処理する

for (var i = xs.Length-1; i >= 0; i--)

.if

ブール式を 'true' にチェックします。

if (expr)

.inject

型のプライマリコンストラクターパラメーターを導入します

class Component(IDependency dependency)

.lock

ロックブロックで表現を囲む

lock (expr)

.new

型のインスタンス化式を生成する

new SomeType()

.not

ブール式を否定します

!expr

.notnull

式が null でないことをチェックします

if (expr != null)

.null

式を null にチェックします

if (expr == null)

.par

現在の式を括弧で囲みます

(expr)

.parse

文字列をある型の値として解析します

int.Parse(expr)

.prop

表現のための特性を導入する

Property = expr;

.return

現在の関数から式を返す

return expr;

.sel

エディターで式を選択します

|selected + expression|

.switch

switch 文を生成する

switch (expr)

.throw

'例外' 型の式をスローします

throw expr;

.to

現在の式を変数に代入する

lvalue = expr;

.tryparse

文字列をある型の値として解析します

int.TryParse(expr, out value)

.typeof

typeof() 式で型の使用をラップします

typeof(TExpr)

.using

ステートメントを使用してリソースをラップする

using (expr)

.var

式の変数を導入する

var x = expr;

.while

ブールステートメントが '真' である間、反復する

while (expr)

.yield

イテレータメソッドの値を返します

yield return expr;

ショートカット

説明

サンプル

.beg..end

範囲からイテレータを生成する

sort(range.begin(), range.end())

.Cast

式を UE キャストで囲みます

Cast<SomeType>(expr)

.cbeg..cend

範囲からイテレータを生成する

is_sorted(range.cbegin(), range.cend())

.co_await

co_await に引数として式を渡します

co_await expr

.co_return

現在のコルーチンから式を返します

co_return expr;

.co_yield

co_yield に引数として式を渡します

co_yield expr

.const_cast

const_cast で式を囲む

const_cast<SomeType &>(expr)

.do

ブール式が '偽' になるまで反復する

do { } while (expr);

.dynamic_cast

dynamic_cast で表現を囲む

dynamic_cast<SomeType &>(expr)

.else

ブール式を 'false' にチェックします。

if (!expr)

.foreach

範囲を反復する

for (auto && x : range)

.forward

Forwards 関数パラメーター

std::forward<Arg>(arg)

.if

ブール式を 'true' にチェックします。

if (expr)

.make_shared

オブジェクトを構築し、std::shared_ptr にラップします。

std::make_shared<SomeType>()

.make_unique

オブジェクトを構築し、std::unique_ptr にラップします。

std::make_unique<SomeType>()

.new

型のインスタンス化式を生成する

new SomeType()

.reinterpret_cast

reinterpret_cast で式を囲む

reinterpret_cast<SomeType &>(expr)

.return

現在の関数から式を返す

return expr;

.safe_cast

safe_cast で式を囲む (C++/CLI)

safe_cast<SomeType>(expr)

.static_cast

static_cast で式を囲む

static_cast<SomeType>(expr)

.switch

積分 / 列挙型よりもスイッチを生成する

switch (expr)

.var

式の変数を導入する

auto x = expr;

.while

ブール式が真である間、反復する

while (expr)

ショートカット

説明

サンプル

.else

ブール式を 'false' にチェックします。

if (!expr)

.forof

反復可能なオブジェクトを反復処理する

for (let x of expr)

.if

ブール式を 'true' にチェックします。

if (expr)

.notnull

式が null でないことをチェックします

if (expr !== null)

.notundefined

式が未定義であることをチェックします

if (expr !== undefined)

.null

式を null にチェックします

if (expr === null)

.return

現在の関数から式を返す

return expr;

.undefined

定義されていない式をチェックします

if (expr === undefined)

.var

式の変数を導入する

var x = expr;

ショートカット

説明

サンプル

.else

ブール式を 'false' にチェックします。

if (!expr)

.forof

反復可能なオブジェクトを反復処理する

for (let x of expr)

.if

ブール式を 'true' にチェックします。

if (expr)

.instanceof

式のインスタンスをチェックする

if (x instanceof Class)

.notnull

式が null でないことをチェックします

if (expr !== null)

.notundefined

式が未定義であることをチェックします

if (expr !== undefined)

.null

式を null にチェックします

if (expr === null)

.return

現在の関数から式を返す

return expr;

.typeof

式のタイプをチェックする

if (typeof x === 'string')

.undefined

定義されていない式をチェックします

if (expr === undefined)

.var

式の変数を導入する

let x = expr;

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

言語: C#

言語: VB.NET

言語: C++

言語: ASP.NET

言語: Razor

言語: XAML

言語: Resx

言語: スクリプトの作成

言語: SQL

この機能は C# で利用可能です

この機能は Visual Basic では使用できません

この機能は C++ で利用可能です

この機能は ASP.NET では使用できません

この機能は Razor では使用できません

機能は XAML では使用できません

機能はリソースファイルでは使用できません

機能はビルドスクリプトファイルでは使用できません

機能は SQL/NoSQL ファイルおよびインジェクションでは利用できません

2026 年 6 月 12 日