コード生成

ReSharperのコード生成アクションを使うと、多数のコードを作成できます。例えば、任意の型メンバー一式を初期化するコンストラクタ、実装中のインターフェースに必要なメソッドやプロパティ、等価チェック、メンバーのフォーマットなど。

クラス、条件ブロック、GUIDなどの一般的なコードを生成する他の方法については、コードテンプレートをご覧ください。

ReSharperによる使用箇所からのコード生成

使用箇所からの作成

ReSharperでは、メソッド/関数、プロパティ、ローカル変数やフィールド、あるいはクラスさえも、宣言する前に使用できます。 ReSharperは使用箇所に基づいて 対応する宣言を生成するクイックフィックスを提案し、使用箇所のコンテキストに従って宣言を スマートに調整します。 例えば、使用箇所からメソッドを作成する場合、ReSharperはメソッドの作成だけではなく、その戻り値の型とパラメータの型の検出も行います。

ReSharperの生成メニュー

型メンバーの生成

ReSharperを使うと、Alt+Insを押すだけでさまざまな型メンバーをすばやく生成できます。

ReSharperを使った型コンストラクタの生成

型コンストラクタの生成

Generateポップアップメニューで Constructorを選択し、 コンストラクタで初期化したいフィールド、自動プロパティ、基本コンストラクタを 選択して ください。 このようにわずか数回のキー入力で、コンストラクタを作成できます。

メソッドの実装/オーバーライド

インターフェースを実装/継承メンバーの関数をオーバーライドするためのスタブを作成 実装/オーバーライド用に利用できるメソッドの一覧が提示される際、対応するスタブが生成されます。 選択を促された際に複数のメソッドを選択すると、同時に複数のスタブを生成できます。 オーバーライドされたプロパティは自動的に作成されます。

デリゲート型メンバーの生成

デリゲート型メンバーは、あるクラスのフィールドの動作や公開メソッドを、該当クラスのインターフェースを通してカプセル化する方法を提供します。 フィールドやそのメソッドを指定すると、ReSharperが現在のクラスにラッピングメソッドを生成します。

プロパティの生成

まず、Generateメニューで Read-only propertiesProperties メニューを選択してください。 次に、ダイアログボックスで促された際に1つ以上のフィールドを選択してください。 はい、出来上がりです。 必要に応じて、新しいプロパティをvirtualにしたり、フィールドの宣言部からXMLドキュメントをコピーしたりできます。

フォーマットメンバーの生成

どのクラスでも、任意の数の型フィールドや自動プロパティで、フォーマット文字列を返すToString()オーバーライドをすばやく生成できます。

等価メンバーの生成

現在の型にすばやくEquals()GetHashCode()メソッドを生成します。 ReSharperはメソッドを作成するだけでなく、等価チェックやハッシュコードの計算に必要なコードも生成します。 また、ReSharperは等価演算子や非等価演算子、あるいは厳密に型指定されたIEquatable<T>インターフェースを生成できます。

コード生成オプション

コード生成オプションの設定

新しいメンバーの生成方法は、いくつかの方法でコントロールできます。

まず、異なるメンバーにカスタムの命名スタイルを設定できます。 命名スタイルが設定されている場合、ReSharperはその要件を、新しいメンバーの生成時に強制します。

残りのオプションは、ReSharper | Options | Code Editing | Members Generationで設定できます。 例えば、生成したメンバーのデフォルトの本文に対して、NotImplementedException()、デフォルト値を返す、コンパイル不可能なコードのうち、どれを含めるか選択できます。

ショートカットに関する注意

このページに記載されたキーボードショートカットはすべて、ReSharperデフォルトの「Visual Studio」キーマップのものです。 ReSharperの2種類のキーマップの詳細は、ReSharperのドキュメントをご覧ください。