連載:〜ScottGu氏のブログより〜

VS 2010のコードIntelliSenseの改善(VS 2010&.NET 4シリーズ)

Scott Guthrie 著/Chica
2009/11/06

 本記事は、Microsoftの本社副社長であり、ASP.NETやSilverlightなどの開発チームを率いるScott Guthrie氏のブログを翻訳したものです。氏の許可を得て転載しています。

 これは、VS 2010および.NET 4リリースに向けたブログ投稿シリーズの第10弾です。

 本日のブログ投稿では、小さいけど非常に素晴らしいVS 2010でのコードIntelliSenseの改善点についてカバーします。これは型やメンバのコード補完を、よりうまくフィルタリングする機能です。これにより、コードを書く際にAPIをもっと簡単に見つけて使用できるようになります。

VS 2008でのコードIntelliSense

 VS 2010で改善された点を説明するために、まずGridViewコントロールで編集を可能にするコードを書くという簡単なシナリオをVS 2008で行ってみましょう。

 まず“GridView1.Edit”と入力を開始するとIntelliSenseが立ち上がり、コントロールでどのEditメンバが利用可能か確認します。これをVS 2008で行うと、IntelliSenseのドロップダウンが現れ、“Edit”という言葉で始まるメンバのところまで、ドロップダウン中の現在の位置をフィルタリングします。


図1

 これは、もし扱いたいメソッド/プロパティ/イベントが“Edit”で始まっていれば素晴らしいのですが、もし探している“Edit”メンバがほかの言葉で始まっていたとしたら(例:“RowEditing”イベントや“SetEditRow()”ヘルパー・メソッド)、ほとんど助けにはなりません。ほかのEditメンバを手動でスクロールして探すか、それらを探すためにオブジェクト・ブラウザまたはヘルプ・システムを立ち上げなければなりません。

VS 2010のコードIntelliSense

 では同じシナリオをVS 2010で試してみましょう。“GridView1.Edit”をVS 2010で入力すると、まだEditIndexプロパティがデフォルトでハイライトされていることが分かります。ですが、IntelliSenseの一覧もフィルタリングされているので、そのほかのメンバの中で“Edit”という語が(名前の)どこかに含まれるものを素早く検知できます。


図2

 これにより、すべてのEditに関連したメソッド/プロパティ/イベントを簡単に確認でき、検索しているものがより速く見つかります。

■キーワード検索

 VS 2010のこの新しいIntelliSenseのフィルタリング機能は、始まりの語に関係なく、どんなメンバの検索でも便利です。例えば、もしDataGridでページングを有効化したいけれども方法を覚えていない場合、“GridView1.Paging”と入力するだけで、自動的に“Paging”という言葉を持つメンバをすべてフィルタリングします。以下で“Paging”という言葉で実際始まっているメンバがGridViewクラスにはないが、名前の後方に“Paging”を含む2つのメンバが見つかっているところをご確認ください。


図3

■型検索

 VS 2010のこの新しいIntelliSenseのフィルタリング機能は、クラスや型を簡単に検索するときも便利です。例えば、もし“List”と入力して変数を宣言したとき、エディタ(のIntelliSense)は、“List”という語を(名前の)どこかに含むすべての型(“List”で始まっていない、IList<>やSortedList<>を含みます)を自動でフィルタリングして表示します。


図4

 これにより、オブジェクト・ブラウザを検索したり、ヘルプ・ドキュメントを使用したりする必要がなく、完全に覚えていない型名を探すことが非常に簡単になります。

■Pascal形式(Pascal Case)のIntelliSense

 .NET Frameworkの名前付けガイドラインでは、型およびメンバ名はデフォルトで“Pascal Cased”にすべきと指定されています。つまり、型またはメンバの各単語は大文字で始まるべきなのです(例:PageIndexChanged

 VS 2010のIntelliSenseフィルタリング・サポートはこれを利用して、Pascal名前付けパターンに基づいたメソッドを素早く検索し、フィルタリングできます。例えば、“GridView1.PIC”と入力すると、VS 2010は名前にPICがあるメンバか、単語(=メソッド名)のセグメント(=上記の例だと「Page」「Index」「Changed」)がその文字シーケンス(=この例では「P」「I」「C」)で始まっているPascal形式の名前を持ったメンバをフィルタリングして表示します。


図5

 PICにより“PageIndexChanged”および“PageIndexChanging”の両方が表示されるようになっていることをご確認ください。これにより、メンバもしくは型名を解決する際に、キーストロークが少なくなります。

まとめ

 VS 2010の新しいIntelliSenseフィルタリング方法により、コードを書く際にクラスやメンバを素早く見つけて使用することがより簡単になったと思います。これはVBおよびC#の両方で利用できます。

 Hope this helps,

 Scott

 P.S. ブログに加え、最近はTwitterのto-doを使った簡単な投稿やリンク共有も行っています。www.twitter.com/scottguにて、わたしをTwitterでフォローできます(@scottguがわたしのTwitter名です)。End of Article

   
 
インデックス・ページヘ  「〜ScottGu氏のブログより〜」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間