.NET TIPS

VS.NETでコードの中を効率よく移動するには?(検索機能活用編)

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

 Visual Studio .NET(以降、VS.NET)のIDEで編集を行う際、例えばあるメソッドが別のメソッドを呼び出しているような場合、その別のメソッドが実装されているコード位置まで移動(ジャンプ)したいときがある。本稿では、そのようなときに、効率的にコードの中を移動するためのテクニックを紹介する。

基本的なコード間の移動方法

 まず、VS.NETのコード・エディタでコードの中を移動する最も基本的な方法は、マウスを使う方法とキーボードから次の表にあるキーを入力する方法だ。

キー入力 移動内容
[↑]キー
[↓]キー
[←]キー
[→]キー
1文字移動する
[Ctrl]+[←]キー
[Ctrl]+[→]キー
1単語移動する
[Page Up]キー
[Page Down]キー
1ページ移動する
[Home]キー
[End]キー
列の先頭/末尾へ移動する
[Ctrl]+[Home]キー
[Ctrl]+[End]キー
行の先頭/末尾へ移動する

 また、「TIPS:VS.NETで効率よくキーワード検索を行うには?」のように「キーワード検索」を行うのも、コード間を移動する基本的なテクニックの1つである。

 上記の表以外の移動方法としては、VS.NETの機能として次のような移動方法が用意されている。

1. 単語検索
2. 指定行ジャンプ
3. ナビゲーション機能
4. ブックマーク機能
5. タスク・リスト機能

 これら5つの機能を利用したコード移動方法は、IDEの検索機能を活用した移動方法と、IDEの管理機能を活用した移動方法に大別でき、上記1.、2.、3.による移動方法は前者、4.と5.による移動方法は後者に当てはまる。本TIPSでは、このうち1.、2.、3.の「検索機能を活用したコード間の移動テクニック」について解説する。4.と5.の「管理機能を活用したコード間の移動テクニック」については、「TIPS:VS.NETでコードの中を効率よく移動するには?(管理機能活用編)」で紹介する。

1. 「単語検索」によるコード間の移動

 「単語検索」は、キーワード検索と同じ機能だが、カーソルがある位置の単語を自動的にキーワードとして認識し、その単語を使ってそのままキーワード検索を行うという特徴がある。例えば、メソッドの名前の上にカーソルを置いて単語検索を行うと、そのメソッド名(単語)がキーワードとして認識されてキーワード検索が実行される。キーワードを入力する手間がかからないので非常に効率的で便利な機能である(筆者はこの方法を頻繁に使う)。

 単語検索を行うには、コード・エディタ上にある単語上にカーソルを移動して、ショートカット・キー[Ctrl]+[F3]を押すだけだ。ただし、カーソルを移動する位置は、その単語の1文字目以降でなければならないので注意してほしい。単語の先頭位置にカーソルがある状態で単語検索を行った場合は、その単語が選択されるだけで検索は行われない。

 次の画面は、単語検索を実行しているところだ。

単語検索の実行
単語検索を実行しているところ。単語検索を実行するには、単語の1文字目以降にカーソルを置いて、ショートカット・キー[Ctrl]+[F3]を押す。なお、単語の先頭にカーソルがある場合には、単語検索は実行されずにその単語が選択されるだけである。

 上の画面の例では、「InitializeComponent」という単語がキーワードとして認識されて、キーワード検索が実行される。その実行結果が次の画面だ。

単語検索の実行結果
単語検索を実行し終わったところ。「InitializeComponent」という単語が検索されて、その検索位置のコードまでカーソルが移動した。この際、検索で使われたキーワードは選択状態となる。

 この例では、「InitializeComponent」がキーワード検索されて、その検索位置までコードの中を移動した。この後さらに続けて検索する場合は、(通常のキーワード検索と同じように)[F3]キーを押せばよい。前方(上方向)へ検索する場合は[Shift]+[F3]キーを押す。

 ちなみに、単語ではなく特定の文字列でキーワード検索を行いたい場合には(例えば、「InitializeComponent」という単語ではなく「Initialize」という特定の文字列で検索したい場合)、その特定の文字列を選択してショートカット・キー[Ctrl]+[F3]を押せばよい。これにより、その選択文字列がキーワードとして認識されて、キーワード検索が実行される。なおこの場合も、次の検索は[F3]キー、上への検索は[Shift]+[F3]キーである。

2. 「指定行ジャンプ」によるコード間の移動

 「指定行ジャンプ」は、行番号を指定してコードの中を移動する機能だ。これが活用できるのは、例えば、特定行にあるコードをほかの開発メンバーに参照してもらうために、「MainForm.csファイルの“1234行目”のInitializeComponentを見て!」と依頼するようなときだ。

 指定行ジャンプを行うには、ショートカット・キー[Ctrl]+[G]を押せばよい(筆者は「Go Jump」の「G」と覚えている)。もしくは、メニュー・バーにある[編集]−[ジャンプ]を選択してもよい。

[指定行へのジャンプ]ダイアログ
行番号を指定してコードの中を移動するためのダイアログ。ショートカット・キー[Ctrl]+[G]を押すと表示される。

 ちなみに、コード・エディタ上の現在の行番号はIDE下部にあるステータス・バーの右側に表示されている。

 また、コード・エディタ上に行番号を表示することも可能だ。これには、メニュー・バーにある[ツール]−[オプション]を選択して[オプション]ダイアログを表示し、そのダイアログのツリー表示の中から[テキスト エディタ]−[C#]−[全般](もしくは[テキスト エディタ]−[Basic]−[全般])を選択し、右側の設定項目の中にある[行番号]チェック・ボックスにチェックを入れる。

3. 「ナビゲーション機能」によるコード間の移動

 「ナビゲーション機能(Navigate Backward/Navigate Forward)」は、以前にカーソルがあった位置に戻るための機能だ。例えば、キーワード検索や行指定ジャンプなどで何度か移動した後、元のコード位置まで戻りたいようなときに利用する。

 具体的な利用例を挙げると、最初に「InitializeComponent」で検索して、次に「Dispose」で検索し、さらにその下の行にカーソルを移動したとする。このような場合、ナビゲーション機能を使うと、最初は「Dispose」の位置に戻り、次に「InitializeComponent」に戻ることができる。

 ナビゲーション機能を利用してコードの中を移動するには、[標準]のツールバーにある[戻る]ボタン/[次へ進むボタン]を押すだけである。

ナビゲーション機能の[戻る]ボタン/[次へ進む]ボタン
[標準]のツールバーにナビゲーション機能の[戻る](Navigate Backward)ボタン/[次へ進む](Navigate Forward)ボタンがある。
  [戻る](Navigate Backward)ボタン。前のカーソル位置へ戻ることができる。この画面の例のように[▼]をクリックして表示されるメニューから戻るコード位置を選択することもできる。
  [次へ進む](Navigate Forward)ボタン。戻りすぎた場合には、このボタンを押すともう一度次に進むことができる。

 ナビゲーション機能によるコード間の移動をキー操作で行う場合、前に戻る(Navigate Backward)にはショートカット・キー[Ctrl]+[-]を押し、次に進む(Navigate Forward)には[Ctrl]+[Shift]+[-]キーを押せばよい。なお、この[-]キーの入力に、テン・キーの[-]キーは利用できない。End of Article

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

「.NET TIPS」


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 記事ランキング

本日 月間