普段、Visual Studioを使う私は、ReSharperというアドインをインストールしている。ある意味、これがなしではVisual Studioで開発ができないくらい必需品。
日本語の情報が結構少ないので、紹介してみる。
ダウンロードはこちら。30日間のFree Trialが可能。
個人で使うなら$199。(C#だけなら$149。)何台にでもインストールできて、一度に使えるのは1台だけというライセンス。セットアップしておけば、こっちのPCで今使うってのをメニューですぐに切り替えられる。僕は、このライセンスを自腹購入して、会社と家とでインストールしてある。
$200の価値は絶対にある。
Code Analysis
まず、これ。
ソースコードのスクロールバーの横にこんなマークがでるようになる。
赤い線がError、オレンジがWarningのところ。コンパイルする前にどこがエラーになるかがわかる。
初めてReSharperをインストールすると自分がいかにWarningまるけのコードを書いているかわかる。(笑)
緑の線はSuggestions(ご提案)。言われてみればごもっともな提案ばかりなので、提案には従うべし。
線をクリックすると、そのコードの場所に飛ぶ。
該当のコードには波線がつき、その左には色に従った豆電球 がつく。ぷちっと押すと 直す方法の提案が出る。選択すればその通り修正してくれる。
ありがちな提案が、「Possible ‘System.NullReferenceException’」。nullチェックをしていなくてnull例外の可能性のある場所もちゃんと提案してくれる。
右に線がでなくなるまでちゃんと修正するべし。
もちろんコンパイル時にチェックすることはコンパイラがやってくれるし、それを確認してコードを修正すればいいだけのことであるが、コードを書いている横からどんどん指摘してくれるのが、非常に効率がいい。
FxCopなどだと、指摘だけしてくれるのだが、んじゃ具体的にはどう直してほしいんや?と思うことが結構あって、困りはてるのだが、ReSharperの場合、マウスクリック一発でなおしてくれるのがうれしい。その直しかたを確認して、気に入らなければCtrl+Z、自分の方法で直せばいい。
これが非常に気に入っている機能で、自分が書いているコードの書き方が統一されてあとから、読みやすくなる。その上、あぁこっちの書きかたの方が奨励されているのねって勉強になる。
強いて言えば、すべての提案が英語でなされるので、英語が苦手なひとは使えないかも。
Coding Assistance
まぁいわゆるIntelisenseのこと。
ぶっちゃけて言うと、Visual Studio標準のIntelisenseと比べて、レベルが2段くらいあっぷした感じで賢くなる。
ほとんど、選択の余地はなく、デフォルトを選んでいけば用は足りる。
括弧を開ければ、閉じた括弧も自動で付くし、セミコロンを打てば勝手にフォーマットする。タイプの量が圧倒的に減る。すなわちコーディングの速度が全然違ってくる。
Visual StudioのIntelisenseで満足している人でも、あぁこんな世界があるのねと感動できると思う。
それ以外にも、Refactoringの機能が豊富。コードを書きながら、どんどんRefactoringできるので、とっても効率がいい。例えば、関数をガンガン書いていて、ちょっと長くなったなぁと思ったところで、Extract Method。引数の順番もボタンひとつで入れかえなど。
Navigation and Search
さまざまな条件でファイルの中を探索できる機能。
もちろん、標準のVisual Studioにもある程度はいっている機能であるが、ReSharperのものとは比べものにならない。
何が気にいっているって、この検索結果のタブ。検索結果をどんどんタブにして残しておける。これにより、関数をあっちにいったりこっちにいったりする際に、順番にたどることができる。
とある関数を修正する必要がある場合、この関数をつかっている範囲を探しだし、事前にどんな影響があるのかを考えたりするのによく使っている。
もう一つ、よく使う機能が、この画面。ひとつのファイルの中にどんな関数、変数がはいっているのかをざっと眺めるのに使う。関数の位置をかえたければ、マウスでドラッグすれば、ファイルのほうも更新される。パブリックは一箇所に集めたいよね、とかそんなときに便利。
ほとんどの機能がそうなんだけど、C#だけの機能ではなく、XAMLでもつかえる。
XAMLだと、結構全体の構造って見失いやすいので、非常に便利。
もうひとつ、クラッシュダンプな
初めまして。
私も同じような目的で(個人で購入して会社で使う)ReSharperのライセンスを購入しようとしているのですが、Commercial か personalのどちらのライセンスを買えばいいのか、悩んでいます。
cagylogicさんはどちらのライセンスを購入されていますか?
参考にさせてください。
僕はPersonal Licenseを購入しております。
ライセンスキーは複数のPCに入力することができます。
Visual Studioを起動した状態で、ReSharperのON/OFFの切り替えができます。2台のPCでVisual Studioを起動した場合、もう一方のReSharperをOFFにするけどいいか?のメッセージが出ます。
同時に2台では起動出来ませんけど、個人で使ってる分にはあんまり困らないかな。
リモートデバッグしてるときはReSharperはどーでもいいので。。
Personal Licenseを購入したものを会社で精算した場合はライセンス違反になるようです。精算しなければ、商用・営利目的の開発に使える模様。
最近、日本では、サムライズムが代理店契約をしたようなのでそちらの情報が良いかもしれません。
http://codezine.jp/article/detail/6998
http://samuraism.com/products/jetbrains/faq
大本の情報は
http://www.jetbrains.com/resharper/buy/license-matrix.jsp