ReSharper 2024.2 ヘルプ

C++ のコードテンプレート

ReSharper のすべてのコードテンプレート機能は、C++ でもサポートされています。これらの機能の詳細については、コードテンプレートセクションの対応するトピックを参照してください。

ライブテンプレート

ライブ / 囲みテンプレートは、既存のファイルにコードを生成したり、(テンプレート本体に $SELECTION$ パラメーターがある場合) try...catch ステートメントなどのテンプレートコードでコードフラグメントを囲むために使用できます。

各ライブテンプレートは、ショートカットforeach などの短い文字列)によって識別されます。この文字列をエディターに直接入力して、テンプレートを呼び出すことができます。

ReSharper には、事前定義されたライブテンプレートが多数用意されています。専用のエディターで、または既存のソースコードから直接、カスタムのライブテンプレートを作成することもできます

ファイルテンプレート

ファイルテンプレートは、型宣言、単体テストなどの事前定義されたコードを含む 1 つ以上の新しいファイルを作成するために使用されます。ファイルテンプレートにはショートカットはなく、説明によって識別されます。詳細については、「テンプレートからファイルを作成するおよびマルチファイルテンプレートを作成する」を参照してください。

ファイルテンプレートは、テンプレートを適用するときに複数のファイルを作成できます。これは、関連するデータが別のファイルに保存されている場合に役立ちます。

クラス、構造体、ソースファイル、ヘッダーファイルの定義済みテンプレートがあります。新しいファイルmulti-file テンプレートを作成することもできます。

ReSharper C++: File Templates

後置テンプレート

後置テンプレートを使用すると、前に戻ることなく、すでに入力した式を変換できます。式の後にドットを入力し、補完リストからテンプレートを選択するだけです。

以下は、C++ で利用可能な後置テンプレートのリストです。

ショートカット

説明

サンプル

.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)

関連ページ:

コードテンプレート

ReSharper コードテンプレートを使用すると、事前定義済みのコード構成体をすばやく生成できます。すぐに使えるさまざまな言語用のテンプレートが多数ありますが、新しいテンプレートを作成したり、既存のテンプレートを編集したり、簡単に管理したりすることもできます。さらに、ReSharper は開発者のチームが彼らのカスタムテンプレートを共有することを可能にします。ReSharper のコードテンプレートの全側面については、以下のトピックで詳しく説明しています。テンプレートの種類、テンプレートエクス...

テンプレートエディター

テンプレートエディターは、コードテンプレートの作成と編集に役立ちます。テンプレートエディターが新しいドキュメントタブで開き、テンプレートとアプリケーションコードを切り替えて、作成したテンプレートをすばやくテストできます。テンプレートエディターは、キーワード、コメントなどの基本的なコードのハイライトを提供します。すべてのハイライト色は構成可能です。テンプレートエディターの強調色を構成するメニューからを選択して、ページに移動します。アイテムを表示するリストで、ReSharper テンプレートエディター...

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

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

テンプレートからファイルを作成する

ReSharper を使用すると、ファイルテンプレートに基づいてクラス、インターフェース、構造体、その他のファイルを作成できます。作成されると、新しいファイルがプロジェクトに追加され、エディターで開きます。このファイルには、テンプレートで指定されたソースコードが含まれています。テンプレートから新しいファイルを作成する以下のいずれか 1 つを実行します: ソリューションエクスプローラーでは、テンプレートから新しいファイルを作成するノードを選択します。エディターで開いているコードファイルにキャレットを...

C++ のリファクタリング

リファクタリングを実行するシンボルにキャレットを置き、リファクタリングするコードフラグメントを選択するか、ツールウィンドウ内の項目を選択します。以下のいずれか 1 つを実行します: メインメニューからを選択し、目的のリファクタリングを選択します。このメニューで使用できるリファクタリングのリストは、現在のコンテキストによって異なります。ReSharper がコンテキストのリファクタリングを提案できない場合、メニュー全体が無効になります。エディター、ファイル構造ウィンドウ、またはその他の ReShar...

C++ のコード生成

ReSharper は、定型コードを生成するさまざまな方法を提供します。例: 宣言されていないコードシンボルを使用し、これらのシンボルを用途に基づいて自動的に生成したり、型メンバーを生成したりすることができます。現在のタイプのメンバー生成オプションは、で使用できます。これらおよび他の多くのコード生成アクションは、を使用したコンテキストアクションとしても使用できます。使用箇所からコードを生成する:ReSharper では、宣言する前にコードシンボル(メソッド、変数、フィールドなど)を使用でき...