SDD(Sleep-Driven Development)

睡眠の重要性!!睡眠の重要性!!

MacでC#ユーザーのRider入門〜便利機能〜

今回はRiderの便利機能の紹介

getonlyから変更通知プロパティへの変換

Xamarin.Formsをやっていると変更通知プロパティが結構出てくるのですが、もしもともとあるプロパティを変更通知可能にしようとする場合バッキングフィールド書いて〜プロパティのsettergetter書いて〜は結構手間だと思います。

Riderならそんな面倒な変換も一瞬でやってくれます! 例としてgetonlyプロパティをregion付きの変更通知プロパティに変えてみました。

f:id:crocus7724:20160918141140g:plain

Autoプロパティからバッキングフィールドのプロパティへの変換がAlt+Enterで簡単にできます!しかもバッキングフィールドの名前はプロパティの名前のアンダーバー+ロワーキャメルケースへ自動的に変換。めっちゃ便利。

Currentメソッド作成

また、よくあるかわからないけどシングルトンパターンを作るときに初回はインスタンス作成して次回以降はそれを使いまわすみたいな感じになると思いますがこれもRiderならスラスラ書けます。
Sample Current{get;}=new Sample();でいいだろという声は聞こえません

f:id:crocus7724:20160918141236g:plain

なんとnullチェックで冗長だった場合短い構文に書き換えてくれます!!素晴らしい。

Linqサポート

冗長だったやつを短いのに変えるのはnullチェックだけではありません。もしforeachで長い文を書いていた場合Linqに変換してくれます。

f:id:crocus7724:20160918141350g:plain

個人的に+=じゃなくて=が嬉しいですがまあ問題ないんでしょう。

リネーム

リネームのためだけにRiderを開いてもいいほど強力です。どのくらい強力かというと条件があうと別プロジェクトのコメントアウトした部分もリネームするか聞いてきます。

例としてバッキングフィールド付きプロパティをリネームしたとき

f:id:crocus7724:20160918141407g:plain

ちゃんとバッキングフィールドも一緒にリネームするか聞いてきます。地味に凄いですね。

Search Everywhere

これはIntelliJを使っている人ならよく知っていると思いますがShiftキーを2回押すことでいろんなものを検索します。

なんとこれクラスやシンボルだけでなく設定まで検索できます。

f:id:crocus7724:20160918142328g:plain

これでいちいちあの設定はどこだっけと悩む必要はなくなりますね!

ほかにもいろいろ便利な機能がありますがこの辺で。

とりあえずAlt+EnterとSearch Everywhereが便利すぎです。