matarillo.com

The best days are ahead of us.

31日間ReSharper一周 Day 13: ファイル構造ビュー

2012-12-30 18:17:12

元記事

31日間ReSharper一周」の13日目にようこそ。

Delphiのいくつかのバージョンには「構造」ビューがあり、フィールドとメソッドとプロパティをツリー表示する。ReSharperは「ファイル構造」ビューで更に数歩進んでいる。Ctrl+F11でアクセスできるが、素晴らしいショートカットってわけではない。多分、一旦ウインドウを表示したら、後はそれをドッキングさせたままにするだけだろう。

ReSharperの「ファイル構造」ビュー

メソッドのソート

名目上は、コードの構造を一目で見るためにこれを使える。でも実のところ僕はそのためには使っていない。僕の指は「すべて折りたたむ」のショートカットを覚えこんでいる(Ctrl+M、Ctrl+Oだと思うけど、気にとめた事ないからな……どれどれ……ああ合ってた)。

僕が「ファイル構造」ビューを使うのは並べ替えのためだ。全メソッドがアルファベット順になっていれば、僕らの人生はさらに楽ちんだろう。しかしReSharperにはその選択肢がないので、抽出したメソッドは常に間違った場所に置かれる。でも、「ファイル構造」ウインドウではドラッグ&ドロップができて……

ReSharperの「ファイル構造」ビュー

メソッドを新しい場所にドロップすれば、ReSharperはコードエディタでメソッドを移動する。

空行についてはたまにおかしな動きをする。でも、ものごとを正しい順序に保つ選択肢がReSharperに追加されるまでは(世の中には無数の異なるコーディングスタイルがあることを思えば、それは難しい注文なのだが)、ツリーのノードをドラッグ&ドロップした後に「すべて折りたたむ」をし、空行の一部を取り除く、というのはカット&ペーストよりはるかに速い。

リージョンが好きなら……

リージョンを実際に使っているし気に入ってるという人たちのために、ReSharperの「ファイル構造」ビューのリージョンは見栄えがするし、折りたためる。

ReSharperの「ファイル構造」ビューでリージョンを展開している所 ReSharperの「ファイル構造」ビューでリージョンを折りたたんでいる所

リージョンが嫌いなら……

個人的には、コードにリージョンがあると読みにくくなると思う――それに、もしコードが複雑すぎるからリージョンによる組織化が必要だっていうのなら、それはクラスから匂いがするってことだよ。

もしこの陣営にいるのなら、ReSharperが力になれる。リージョンボックスの右上に、小さくて青い「X」が見えるかな?それを1回クリックすれば、リージョンタグを消せる(#regionと#endregionのコード行が削除されるだけで、リージョンの中身は削除されない)。そしたらすでに「ファイル構造」ウインドウの中にいるわけだから、メソッドをドラッグして並び替えする作業に取り掛かれる。

もちろん、意図しないときにうっかりリージョンタグを消してしまったとしても、それは他と同じくコードの変更だから、元に戻すことができる。


31日間ReSharper一周 インデックスへ戻る