.NET TIPS

VS.NETで効率よくキーワード検索を行うには?

デジタルアドバンテージ
2004/05/14

基本的なキーワード検索

 Visual Studio .NET(以降、VS.NET)で、キーワード検索を行うには、基本的に[検索]ダイアログ・ボックス(以降、[検索]ダイアログ)を使用する。この[検索]ダイアログでは、現在編集中のファイル、もしくはVS.NETが管理している複数のファイルを対象にしてキーワードを検索できる。

[検索]ダイアログ・ボックス
現在編集中のファイル、もしくはVS.NETが管理している複数のファイルを検索できる。[検索]ダイアログを表示するには、VS.NETのIDEで、ショートカット・キーの[Ctrl]+[F]を押す(検索を意味するFindの「F」と覚えるとよい)。もちろんメニュー・バーの[表示]―[検索と置換]―[検索]を実行してもよい。ちなみに、[置換]のショートカット・キーは[Ctrl]+[H]である(変更を意味するcHangeの「H」と覚えるとよい)。1度、検索した後、続けて次を検索する場合は[F3]キーを押せばよい。逆にその位置より前を検索する場合には[Shift]+[F3]キーを押す。

 また、VS.NETが管理していないファイル・システム上の複数のファイルを検索するには、[ファイル内の検索]ダイアログを使用する。[ファイル内の検索]ダイアログでは、検索対象となるファイルの種類やフォルダ・パスを指定できる。

[ファイル内の検索]ダイアログ・ボックス
VS.NETが管理していない複数のファイルを検索できる。[ファイル内の検索]ダイアログは、検索対象となるファイルの種類やフォルダ・パスを指定できる。[ファイル内の検索]ダイアログを表示するには、VS.NETのIDEで、ショートカット・キーの[Ctrl]+[Shift]+[F]を押す(先ほどのショートカットに「Shift」を付けて拡張検索を行うと覚えるとよい)。もちろんメニュー・バーの[表示]―[検索と置換]―[ファイル内の検索]を実行してもよい。ちなみに、[ファイル内の置換]のショートカット・キーは[Ctrl]+[Shift]+[H]である。

 機能的にはこれらの検索だけで十分であるが、コード・エディタで開いているファイルの中でキーワード検索を行う場合には「インクリメンタル検索」を利用すると、より効率的な検索ができる。

インクリメンタル検索によるキーワード検索

 インクリメンタル検索(Incremental Search:絞り込み検索)とは、検索キーワードを1語入力するたびに、徐々に検索結果を絞り込んでいく検索のことである。例えば、コーディング中(編集中)のファイルの中に「System」「STAThread」「static」といったキーワードがこの順番で存在する場合に、「static」というキーワードでインクリメンタル検索を行うと、次のような実行結果になる。

1. 「s」を入力する
 

一致するのは「System」「STAThread」「static」で、最初に一致した「System」が検索結果となる。

 
2. 「st」を入力する
 

一致するのは「STAThread」「static」で、最初に一致した「STAThread」が検索結果となる。

 
3. 「sta」を入力する
 

一致するのは「STAThread」「static」で、最初に一致した「STAThread」が検索結果となる。

 
4. 「stat」を入力する
 

一致するのは「static」のみで、「static」が検索結果となる。

 この例では、「stat」のたった4語を入力するだけで「static」の検索が完了する。このようにインクリメンタル検索は、[検索]ダイアログを使った検索よりも手軽で素早く、しかもダイアログを表示しないのでソース・コードの編集作業からシームレスに検索が実行でき、非常に効率がよい。

VS.NETでのインクリメンタル検索

 VS.NETでインクリメンタル検索を行うには、コード・エディタ(コード編集領域)上でショートカット・キー[Ctrl]+[I]を押して、検索キーワードを入力するだけだ。

VS.NETでのインクリメンタル検索
インクリメンタル検索を行うには、コード・エディタ上でショートカット・キー[Ctrl]+[I]を押して(インクリメンタル検索を意味するIncremental searchの「I」と覚えるとよい)、検索キーワードを入力するだけだ。キーワードが見つかれば、[ESC]キーを押すか、または[←][↑][→][↓]キーなどを押して行(ライン)を移動すると、インクリメンタル検索は終了する。
  インクリメンタル検索中はカーソルがこのような形になる。
  検索キーワードを1語入力するごとにそれに一致する文字列へ自動的にジャンプして、その一致字列が選択状態になる。なお、同じ検索文字列で次を検索する場合は[F3]キーを押せばよい。逆に検索した語の位置より前を検索する場合には[Shift]+[F3]キーを押す。
  現在検索中の検索文字列が表示される。

ナビゲーション・バーによるキーワード検索

 また、検索したいキーワードがクラスやメソッドならば、コード・エディタ上部にあるナビゲーション・バーが便利だ。ナビゲーション・バーのコンボボックスに表示されるリスト項目を選択するだけで、クラスやメソッドのコード位置へ自動的に移動する。

ナビゲーション・バーによるキーワード検索
コード・エディタの上部に表示されるナビゲーション・バーには2つのコンボボックスがある。それぞれのコンボボックスは、C#の場合は[型]と[メンバ]を表し、VB.NETの場合は[クラス名]と[メソッド名]を表す。ナビゲーション・バーは、C#でもVB.NETでもデフォルト表示されるようになっている。VB.NETでは非表示にすることはできないが、C#では表示/非表示を切り替えることができる。表示/非表示を切り替えるには、メニュー・バーの[ツール]―[オプション]で[オプション]ダイアログを表示して、ダイアログ内のツリー表示の中から[テキスト エディタ]―[C#]―[全般]を選択して、[表示]項目の中にある[ナビゲーション バー]のチェック・ボックスをON/OFFすればよい。
  [型](または[クラス名])を選択すると、選択した項目があるコード位置へ自動的にジャンプする。
  [メンバ](または[メソッド名])を選択すると、選択した項目があるコード位置へ自動的にジャンプする。
  メンバから「Main()」を選択すると、Mainメソッドがあるコード位置へジャンプする。

 コード編集中にキーワード検索を行うにはインクリメンタル検索がお勧めだが、検索キーワードの内容や検索する範囲によって、[検索]ダイアログ/[ファイル内の検索]ダイアログ/インクリメンタル検索/ナビゲーション・バーを使い分けるとよい。

 なお、本稿で説明したショートカット・キーは、Visual Studio .NETのキーボード・スキームが「既定の設定」の場合においてのみ有効である。キーボード・スキームは[スタート ページ]の[マイ プロフィール]で設定・変更できる。End of Article

カテゴリ:Visual Studio .NET 処理対象:IDE
 
この記事と関連性の高い別の.NET TIPS
VS.NETで#Regionにより隠されたコードを検索するには?
VB開発設定の標準ツールバーに検索コンボボックスを表示させるには?
VS.NETでコードの中を効率よく移動するには?(検索機能活用編)
Visual Studioのヘルプ(Document Explorer)検索を速くするには?
キーボード操作だけで高速にプロジェクト・ファイルを開くには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

@IT Special

- PR -

TechTargetジャパン

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メールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Insider.NET 記事ランキング

本日 月間
ソリューションFLASH