2007年5月11日金曜日

Day 10: 型に移動

元記事


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


今日の話題はCtrl+N、「型に移動」だ。


ReSharperの「型に移動」ポップアップ


Ctrl+Nを押すと、小さいウインドウがポップアップする。型名の一部または全体を入力すると、候補一覧が表示される。それから1つを選んでEnterを押せば、そのファイルが開かれる。


ソリューションエクスプローラが必要になるのは、もはや新しいファイルを追加するときだけだ。それ以外では、Ctrl+Nですべて事足りる。


しかも、ショートカット機能もある。



  • 先頭の大文字で探す。大文字を入力すれば、頭字語として入力されたかのように検索する。つまり、もしMDTと入力したならMyDataTableとMenuDropTagにマッチする。(これは普通の検索と混ぜてマッチさせることができる。だから、MDatTを探してMyDataTableを見つけるということもできる。)

  • ワイルドカード。* と入力すれば0以上の文字にマッチするし、+ では1以上の文字にマッチする。(これはファイルグロブ式のワイルドカードだ。つまり、「0文字以上のすべての文字」の意味だ。)


Ctrl+Nは、VSFileFinderとかなり直接競合する。両者ともほぼ同じように「あるパターンにマッチするファイルの一覧を表示して、そのどれかを開く」的なことをする。だから両者を比較してみると面白いんじゃないかと思った。以下に比較内容を記す。



  • 明らかにReSharperの方が良い点:

    • VSFileFinderは、ReSharperでいう「先頭の大文字」的なものをサポートしない。

    • Ctrl+Nにはキーバインドがあるが、VSFileFinderのキーストロークは見つけられないままだ。Visual Studioを終了して再起動するとまた表示されるんだけど。

    • Ctrl+Nは使い終わればすぐ消えるけど、VSFileFinderはドッキング可能ウィンドウになっていて、検索が終わっても場所をを取り続ける。


  • VSFileFinderの方が少し良い点:

    • どっちのツールでも検索したいもののフルネームを知っている必要はない。どちらも名前の一部分を指定できる。しかしVSFileFinderでは、一部分を指定するときに順序を問わない。「data table」はDataTableとTableOfDataにマッチする。ReSharperの方が制限が多い。一部分を指定するときには、型名に現れる順序のとおりでなくてはならない。(しかも、それぞれの語間に*を入力しないといけない。VSFileFinderではスペースを入力するだけでいいのに。)

    • 部分文字列で捜す場合はVSFileFinderの方がずっと簡単だ。名前のどこかに「Foo」を含む型を全部見つけたい時は、ReSharperでは「*Foo」と入力しないといけない。でもVSFileFinderでは「Foo」と入力するだけでいい。


  • 明らかにVSFileFinderの方が良い点:

    • VSFileFinderでは、一度に複数のファイルを開くことが簡単だ。 (まあそれは、ウインドウが常に表示されていて場所をとっているからこそだが。) これは、テストの際には本当にいい――「Foo」と入力すれば「Foo」と「FooTests」の両方が一覧に表示されるし、両方ともクリックして両方とも開くことができる。ReSharperにはこのオプションはない。



最後の項目がいい例だが、ReSharperとVSFileFinderとでは狙いがちょっと違い、適材適所だということがわかる。(僕らは全部の開発用PCに両方ともインストールした。)だけど両者を使ってみると、僕の場合は大体ReSharperのCtrl+Nを使う方に落ち着く。だからキーバインドの有無にはかなり説得力を感じる。


もしも、何かの理由で各ファイル1クラスにしていないなら、Ctrl+Shift+Nにも興味があるかもしれない。これだと(Ctrl+Nのように型名で探す代わりに)ファイル名で探す。

0 件のコメント:

コメントを投稿