ReSharperのコード生成アクションを使うと、多数のコードを作成できます。例えば、任意の型メンバー一式を初期化するコンストラクタ、実装中のインターフェースに必要なメソッドやプロパティ、等価チェック、メンバーのフォーマットなど。
クラス、条件ブロック、GUIDなどの一般的なコードを生成する他の方法については、コードテンプレートをご覧ください。
ReSharperでは、メソッド/関数、プロパティ、ローカル変数やフィールド、あるいはクラスさえも、宣言する前に使用できます。 ReSharperは使用箇所に基づいて 対応する宣言を生成するクイックフィックスを提案し、使用箇所のコンテキストに従って宣言を スマートに調整します。 例えば、使用箇所からメソッドを作成する場合、ReSharperはメソッドの作成だけではなく、その戻り値の型とパラメータの型の検出も行います。
ReSharperを使うと、Alt+Insを押すだけでさまざまな型メンバーをすばやく生成できます。
Generateポップアップメニューで Constructorを選択し、 コンストラクタで初期化したいフィールド、自動プロパティ、基本コンストラクタを 選択して ください。 このようにわずか数回のキー入力で、コンストラクタを作成できます。
インターフェースを実装/継承メンバーの関数をオーバーライドするためのスタブを作成 実装/オーバーライド用に利用できるメソッドの一覧が提示される際、対応するスタブが生成されます。 選択を促された際に複数のメソッドを選択すると、同時に複数のスタブを生成できます。 オーバーライドされたプロパティは自動的に作成されます。
デリゲート型メンバーは、あるクラスのフィールドの動作や公開メソッドを、該当クラスのインターフェースを通してカプセル化する方法を提供します。 フィールドやそのメソッドを指定すると、ReSharperが現在のクラスにラッピングメソッドを生成します。
まず、Generateメニューで Read-only propertiesかProperties メニューを選択してください。 次に、ダイアログボックスで促された際に1つ以上のフィールドを選択してください。 はい、出来上がりです。 必要に応じて、新しいプロパティをvirtualにしたり、フィールドの宣言部からXMLドキュメントをコピーしたりできます。
どのクラスでも、任意の数の型フィールドや自動プロパティで、フォーマット文字列を返すToString()
オーバーライドをすばやく生成できます。
現在の型にすばやくEquals()
とGetHashCode()
メソッドを生成します。 ReSharperはメソッドを作成するだけでなく、等価チェックやハッシュコードの計算に必要なコードも生成します。 また、ReSharperは等価演算子や非等価演算子、あるいは厳密に型指定されたIEquatable<T>
インターフェースを生成できます。
新しいメンバーの生成方法は、いくつかの方法でコントロールできます。
まず、異なるメンバーにカスタムの命名スタイルを設定できます。 命名スタイルが設定されている場合、ReSharperはその要件を、新しいメンバーの生成時に強制します。
残りのオプションは、ReSharper | Options | Code Editing | Members
Generationで設定できます。 例えば、生成したメンバーのデフォルトの本文に対して、NotImplementedException()
、デフォルト値を返す、コンパイル不可能なコードのうち、どれを含めるか選択できます。
このページに記載されたキーボードショートカットはすべて、ReSharperデフォルトの「Visual Studio」キーマップのものです。 ReSharperの2種類のキーマップの詳細は、ReSharperのドキュメントをご覧ください。