ReSharperで日々のコーディングが便利になっているが、実に多機能でまだ使い切れていない。
使っていて「お、これはいいな」と思ったものを1つ紹介しよう。
コンストラクタに引数を受け取り、それをメンバ変数に代入して保持しておく。DIも含めて、そういうコードを書く機会は多いと思う。
しかしよく書く割には、手順が多くて面倒である。
- 引数を書く
- 引数と似た名前のメンバ変数を書く
- メンバ変数へ引数を代入するコードを書く
という3ステップ。この2と3をResharperがやってくれることに気づいた。
Introduce Fieldというリファクタリングメニューを使う。
コンストラクタの引数を書き、引数を選択してRefactor thisメニューからこれを選ぶ。すると上記2と3のコードをパッと生成してくれる。こんな感じ。
contruct(int input){
}
↓
int _input;
contruct(int input){
_input = input;
}
オプション指定できるダイアログが開くので、ここで「_inputじゃなくてm_inputにしたい」といったローカルルールにも対応可能。
とても地味だが、この機能1つで大分ストレスが減って少しコーディング速度が上がると思う。ResharperにもVisual Studioにもまだまだこういう便利機能がありそうなので、いろいろ試していこうと思う。