Visual Studio のテキストの検索と置換

この記事では、Visual Studio エディターで単一ファイルの検索と置換 (Ctrl+F キーまたは Ctrl+H キー) を使うか、複数ファイルの検索と置換 (Ctrl+Shift+F キーまたは Ctrl+Shift+H キー) を使ってテキストを検索および置換する方法について説明します。 マルチキャレット選択を使用して、パターンの "一部" のインスタンスを検索および置換することもできます。 テキストの検索と置換は、エディターだけでなく、他の一部のテキストベースのウィンドウ ([検索結果] ウィンドウなど)、デザイナー ウィンドウ (XAML デザイナー、Windows フォーム デザイナーなど)、ツール ウィンドウでも行うことができます。

Note

Visual Studio Code に関する情報が必要な場合は、VS Code の検索と置換に関するドキュメントを参照してください。

ヒント

変数やメソッドなど、コード シンボルの名前を変更する場合は、検索と置換ではなく "リファクター" を使うことをお勧めします。 検索と置換でやみくもにすべてのインスタンスを置換しても、リファクタリングはインテリジェントで、範囲を理解します。

検索のスコープは、現在のドキュメント、現在のソリューション、またはカスタム フォルダー セットに設定できます。 複数ファイル検索用に、一連のファイル名拡張子を指定することもできます。 .NET 正規表現を使用して、検索構文をカスタマイズします。

ヒント

[検索/コマンド] ボックスは、ツール バー コントロールとして使用できますが、既定では表示されません。 [検索/コマンド] ボックスを表示するには、[標準] ツール バーの [ボタンの追加または削除] を選択し、[検索] を選択します。

1 つのファイル内での検索と置換

  • 現在のファイル内の文字列を検索するには、ショートカット キー Ctrl+F を押します。
  • 現在のファイル内の文字列を検索して置換するには、ショートカット キー Ctrl+H を押します。

[検索と置換] コントロールは、コード エディター ウィンドウの右上隅に表示されます。 現在のドキュメントに出現する指定された検索文字列がすべて直ちに強調表示されます。 検索コントロールの [次を検索] または [前を検索] をクリックすると、1 つの出現箇所から別の出現箇所に移動できます。

Screenshot of the Find and Replace dialog in the Editor in Visual Studio 2022.

Screenshot of the Find and Replace dialog in the Editor in Visual Studio 2019 and earlier versions.

[検索] ボックスの横にあるボタンをクリックして、置換オプションにアクセスすることもできます。 置換を 1 か所ずつ実行するには、[置換] ボックスの横にある [次を置換] をクリックします。 すべての一致項目を置換するには、[すべて置換] をクリックします。

一致項目の強調表示色を変更するには、[ツール] メニューで [オプション][環境][フォントおよび色] の順にクリックします。 [設定の表示] の一覧で [テキスト エディター] をクリックし、[表示項目] の一覧で [一致項目の強調表示] をクリックします。

ツール ウィンドウでの検索

[検索] コントロールは、[出力] ウィンドウや [検索結果] ウィンドウなどのコード ウィンドウまたはテキスト ウィンドウでも使用できます。これには、[編集]>[検索と置換] を選択するか、Ctrl + F キーを押します。

一部のツール ウィンドウで使用できるバージョンの [検索] コントロールもあります。 たとえば、検索ボックスにテキストを入力することにより、[ツールボックス] ウィンドウに表示されるコントロールの一覧をフィルター処理できます。 コンテンツを検索できる他のツール ウィンドウとしては、ソリューション エクスプローラー[プロパティ] ウィンドウ、チーム エクスプローラーなどがあります。

複数ファイルの検索と置換

[フォルダーを指定して検索] では、指定したファイル セットを検索できます。 Visual Studio で見つかった一致項目は、IDE の [検索結果] ウィンドウに一覧表示されます。 結果がどのように表示されるかは、[検索と置換] ダイアログボックスで選んだオプションによって変わります。

Ctrl+Shift+F キーを押して、[検索と置換] ダイアログ ボックスを開きます。または:

  1. Ctrl+Q キーを押し、画面の上部にある検索ボックスに「検索」と入力します。
  2. 結果の一覧から、[フォルダーを指定して検索] を選択します。

Screenshot of the Find and Replace dialog box in Visual Studio 2019, with the Find in Files tab open.

重要

Visual Studio 2019バージョン 16.6 以前を使っている場合、[検索と置換] ダイアログ ボックスはここで示されているものと異なる可能性があります。 このページの Visual Studio 2017 バージョンに切り替えて、画面に表示される内容と一致する説明を確認してください。

  1. メニュー バーで、[編集]>[検索と置換] を選択します。
  2. ポップアップ メニューで、[フォルダーを指定して検索] を選択します。

Screenshot of the Find and Replace dialog box in Visual Studio 2022, with the Find in Files tab open.

検索の範囲を以下に制限します。

  • 現在開いているファイル
  • すべての開かれているドキュメント
  • ソリューション全体
  • 現在のプロジェクト
  • 指定したフォルダー セット
  • 指定したファイル拡張子

[検索と置換] ツールでは、Hidden 属性または System 属性が設定されているディレクトリは検索されません。

検索操作を取り消すには、Ctrl+Break キーを押します。

検索結果

[すべて検索] を選択すると、[検索結果] ウィンドウが開き、検索に対する一致項目が一覧表示されます。 一覧内でいずれかの検索結果を選択すると、関連付けられたファイルが表示され、一致項目が強調表示されます。 まだファイルが編集用に開いていなければ、タブ ウェルの右側にあるプレビュー タブで開かれます。 [検索結果] ボックスの一覧内の検索にも [検索] コントロールを使用できます。

カスタムの検索フォルダー セットの作成

[検索対象] ボックスの横にある [検索フォルダーの選択] ボタン ([...]) をクリックすると、検索スコープを定義できます。 [検索フォルダーの選択] ダイアログ ボックスでは、検索対象としてフォルダーのセットを指定し、その指定内容を後で再利用できるように保存することができます。

ヒント

リモート マシンのドライブをローカル コンピューターにマップした場合、リモート マシン上で検索するフォルダーを指定できます。

カスタムのコンポーネント セットの作成

[検索対象] ボックスの横にある [カスタム コンポーネント セットの編集] をクリックすると、コンポーネント セットを検索スコープとして定義できます。 インストールされている .NET または COM コンポーネント、ソリューションに含まれている Visual Studio プロジェクト、または任意のアセンブリやタイプ ライブラリ (.dll.tlb.olb.exe.ocx) を指定できます。 参照を検索するには、[参照内で検索] チェック ボックスをオンにします。

マルチキャレット選択

マルチ キャレット選択 を使用して、複数の場所で同時に同じ編集を行うことができます。 たとえば、同時に複数の場所で同じテキストを挿入したり、既存のテキストを変更したりすることができます。

Visual Studio 2022 で、マルチキャレットのコピーと貼り付けのエクスペリエンスを改善しました。 以前は、複数の行を複数のキャレットに貼り付けると、各キャレットでクリップボード全体が複製されました。 現在は、複数の行を同じ数のキャレットに貼り付けると、各行がそれぞれのキャレットに挿入されます。

マルチキャレットを使うには、Ctrl+Alt+ キーを押しながらクリックするか、Alt+Shift+. キーを押してから Ctrl+Shift+矢印 キーを押して選択範囲を展開します。 次に、Ctrl+C キーを押して、複数の選択範囲のテキストをコピーします。 行ごとに複数のキャレットを作成して必要な場所に貼り付けるには、Alt+Shift+マウス クリックを使用します。 最後に、Ctrl+V キーを押して、各行を独自のキャレットに貼り付けます。

An animation of the multi-caret selection action in Visual Studio.

複数のキャレットを選ぶには:

  • Alt+Shift+上矢印キー (または下矢印キー) または Alt+Shift+マウス ドラッグを使って、複数のキャレットを選びます。 マルチキャレットの選択範囲を広げるときに、引き続き Alt+Shift+矢印キーAlt+Shift+マウス ドラッグでボックス選択を使用する場合は、[ツール]>[オプション]>[テキスト エディター]>[詳細設定] の順に移動し、[ボックス選択を使用] を選択します。
  • または、メニュー バーの [編集]>[マルチ キャレット] を選んでから、目的のアクションを選んで、マルチキャレットの選択にアクセスします。
マルチキャレット キーボード ショートカット アクション コマンド
Alt+Shift+. マルチキャレットを使用する Edit.InsertNextMatchingCaret
Ctrl+Shift+矢印キー 選択範囲の展開 Edit.SizeControlUp、Edit.SizeControlDown、Edit.SizeControlRight、Edit.SizeControlLeft
Alt+Shift+上方向キー (または下方向キー) 複数のキャレットを選択する Edit.LineUpExtendColumn、Edit.LineDownExtendColumn

次のスクリーンショットでは、3 つの場所で -0000 が選択されています。ユーザーが Delete キーを押すと、選択されている 3 つすべてが削除されます。

Multi-caret selection in an XML file in Visual Studio

複数のキャレットを選択するには、通常どおり、最初のテキストをクリックまたは選択し、追加の場所でそれぞれテキストをクリックまたは選択したままの状態で Ctrl+Alt キーを押します。 追加の選択として一致するテキストを自動的に追加することも、テキストのボックスを選択して行ごとに同じように編集することもできます。

ヒント

[ツール]>[オプション]>[テキスト エディター]>[全般] から [定義へ移動] のマウスクリック用の修飾子キーとして Alt を選択した場合は、マルチキャレット選択が無効になります。 詳しくは、「[オプション] ダイアログ ボックス: [テキスト エディター] > [全般]」をご覧ください。

コマンド

マルチキャレット選択の動作については、次のキーとアクションを使用します。

ショートカット アクション
Ctrl+Alt + クリック セカンダリ キャレットを追加する
Ctrl+Alt + ダブルクリック セカンダリ言語選択を追加する
Ctrl+Alt + クリック + ドラッグ セカンダリ選択を追加する
Shift+Alt+. 選択項目として次に一致するテキストを追加する
Shift+Alt+; 選択項目として一致するすべてのテキストを追加する
Shift+Alt+, 最後に選択した出現箇所を削除する
Shift+Alt+/ 次に一致する出現箇所をスキップする
Alt + クリック ボックスの選択を追加する
Esc またはクリック すべての選択を解除する

コマンドの一部は、[編集] メニューの [マルチキャレット] でも使用できます。

Screenshot of the Multiple Carets fly-out menu in Visual Studio