この記事では、単一ファイルの検索と置換 (Ctrl+ または Ctrl+) または複数ファイルの検索と置換 (CtrlShift+F または +++) を使用して、Visual Studio エディターでテキストを検索および置換する方法について説明します。 マルチキャレット選択を使用して、パターンの一部のインスタンスを見つけて置換することもできます。 エディターに加えて、検索結果ウィンドウ、XAML デザイナーや Windows フォーム デザイナーなどの デザイナー ウィンドウ、 ツール ウィンドウなど、特定のテキスト ベースのウィンドウでテキストを検索および置換することもできます。
注
Visual Studio Code に関する情報をお探しの場合は、 VS Code の検索と置換に関するドキュメントを参照してください。
ヒント
変数やメソッドなどのコード シンボルの名前を変更する場合は、find-and-replace を使用するよりも リファクタリング することをお勧めします。 リファクタリングはインテリジェントでスコープを理解するのに対し、find-and-replace はすべてのインスタンスを盲目的に置き換えます。 Visual Studio 2022 バージョン 17.6 以降では、テキスト自体だけでなく、コードのセマンティックな意味を考慮する方法で、 All in One Search を使用してコードをインテリジェントに検索することもできます。
検索の範囲は、現在のドキュメント、現在のソリューション、またはフォルダーのカスタム セットに設定できます。 複数ファイルの検索に一連のファイル名拡張子を指定することもできます。 .NET 正規表現を使用して検索構文 をカスタマイズします。
ヒント
[ 検索/コマンド ] ボックスはツール バー コントロールとして使用できますが、既定では表示されません。 [検索/コマンド] ボックスを表示するには、[標準] ツール バーの [ボタンの追加と削除] を選択し、[検索] を選択します。
1 つのファイル内で検索と置換を行う
- ショートカットとして Ctrl+F キーを押して、現在のファイル内の文字列を検索します。
- ショートカットとして Ctrl+キーを押して、現在のファイル内の文字列を検索して置換します。
コード エディター ウィンドウの右上隅に [ 検索と置換 ] コントロールが表示されます。 現在の文書内で指定された検索文字列が出現するたびにすぐに強調表示されます。 検索コントロールの [ 次を検索 ] ボタンまたは [ 前 へ検索] ボタンを選択すると、ある出現箇所から別のアイテムに移動できます。
置換オプションにアクセスするには、[ 検索 ] テキスト ボックスの横にあるボタンを選択します。 一度に 1 つの置換を行うには、[置換] テキスト ボックスの横にある [次へ置換] ボタンを選択します。 すべての一致を置換するには、[ すべて置換 ] ボタンを選択します。
一致の強調表示の色を変更するには、[ ツール ] メニューの [オプション] を選択し、[ 環境] を選択して、[ フォントと色] を選択します。 [設定の表示] ボックス の 一覧で、[ テキスト エディター] を選択し、[ アイテムの表示 ] ボックスの一覧で [ 一致の強調表示の検索] を選択します。
検索ツール ウィンドウ
[出力] ウィンドウや [結果の検索] ウィンドウなど、コードウィンドウまたはテキスト ウィンドウで [検索] コントロールを使用するには、編集>Find キーと Replace キーを押すか、Ctrl キーを押しながら F キーを押します。
Find コントロールの バージョンは、一部のツール ウィンドウでも使用できます。 たとえば、[ ツールボックス] ウィンドウのコントロールの一覧をフィルター処理するには、検索ボックスにテキストを入力します。 その内容を検索できるその他のツール ウィンドウには、 ソリューション エクスプローラー、 プロパティ ウィンドウ、 チーム エクスプローラーがあります。
複数のファイルの検索と置換
[ファイル内で検索] を使用すると、指定した一連のファイルを検索できます。 Visual Studio で検出された一致は、IDE の 検索結果 ウィンドウに一覧表示されます。 結果の表示方法は、[ 検索と置換 ] ダイアログ ボックスで選択したオプションによって異なります。
Ctrl キー++ キーを押して、[検索と置換] ダイアログ ボックスを開きます。
- を押し、Ctrl+Qキーを押して、画面上部の検索ボックスに"find"と入力します。
- 結果の一覧から、[フォルダーを指定して検索] を選択します。
Von Bedeutung
Visual Studio 2019 バージョン 16.6 以前使用している場合は、[検索と置換] ダイアログ ボックスがここに表示されない可能性があります。 このページの Visual Studio 2017 バージョンに切り替えて、画面に表示される内容と一致する説明を表示します。
- メニュー バーの [編集]>[検索と置換]を選択します。
- ポップアップ メニューで、[フォルダーを指定して検索] を選択します。
- メニュー バーの [編集]>[検索と置換]を選択します。
- ポップアップ メニューで、[フォルダーを指定して検索] を選択します。
[置換] テキスト ボックスを表示するには、[検索] テキストの左側にある下矢印を使用するか、[ファイルで置換] タブを選択します。 置換モードに切り替えると、置換テキストに追加のテキスト フィールドが表示され、テキストを置き換えるときに大文字と小文字を区別するオプションを示すチェック ボックスが表示されます。
検索および置換操作のスコープを次のように設定します。
- 現在開いているファイル
- 開いているすべてのドキュメント
- ソリューション全体
- 現在のプロジェクト
- 指定したフォルダー セット
- 指定されたファイル拡張子
検索と置換 ツールでは、Hidden 属性または System 属性でディレクトリが検索されません。
検索から一部のファイルを完全に除外できます。「 検索からファイルを除外する」を参照してください。
検索を取り消す
検索または置換操作を取り消すには、 Ctrl キー+Break キーを押します。
詳細については、「 ファイル内の検索 」および「 ファイル内の置換」を参照してください。正規表現の使用の詳細については、「 正規表現を使用する」を参照してください。
結果の検索
[ すべて検索] を選択すると、[ 検索結果 ] ウィンドウが開き、検索の一致が一覧表示されます。 一覧で結果を選択すると、関連付けられているファイルが表示され、一致が強調表示されます。 ファイルがまだ編集用に開いていない場合は、タブ ウェルの右側にあるプレビュー タブで開かれます。 [検索] コントロールを使用すると、[検索結果] リストを検索できます。
カスタム検索フォルダー セットを作成する
検索範囲を定義するには、[Look in] ボックスの横にある [検索フォルダーの選択] ボタン (...) を選択します。 [ 検索フォルダーの選択 ] ダイアログ ボックスでは、検索するフォルダーのセットを指定でき、後で再利用できるように仕様を保存できます。
ヒント
リモート コンピューターのドライブをローカル コンピューターにマップした場合は、リモート コンピューターで検索するフォルダーを指定できます。
カスタム コンポーネント セットを作成する
検索範囲としてコンポーネント セットを定義するには、[検索先] ボックスの横にある [カスタム コンポーネント セットの編集] ボタンを選択します。 インストールされている .NET または COM コンポーネント、ソリューションに含まれる Visual Studio プロジェクト、または任意 の アセンブリまたはタイプ ライブラリ (.dll、 .tlb、 .olb、 .exe、または .ocx) を指定できます。 参照を検索するには、参照内を検索 ボックスを選択します。
検索からファイルを除外する
ビルド成果物、縮小されたスクリプト、生成されたファイルなど、一般的な検索に含めない特定のファイルを除外できます。
除外するファイルを設定するには、[ ツール] > [オプション] > [環境] > 検索] に移動し、[ 検索結果からファイルを除外 する] セクションを探します。 ここでは、glob パターンを追加、編集、または削除して、検索結果から除外するファイルを正確に制御できます。
これらの除外は、 クイック検索で自動的に適用されます。 [ ファイル内の検索] では、[ ファイルの種類 ] フィールドの除外に加えて、これらの除外が適用されます。 [ ファイルの種類] の右側にあるトグル ボタンを使用して、設定レベルの除外のオンとオフを切り替えることができます。
マルチキャレット選択
マルチキャレット選択を使用して、2 つ以上の場所で同時に同じ編集を行います。 たとえば、同じテキストを挿入したり、複数の場所にある既存のテキストを同時に変更したりできます。
Visual Studio 2022 以降では、同じ数のキャレットに複数の行を貼り付けると、それぞれのキャレットに各行が挿入されます。 以前のバージョンでは、複数の行を複数のキャレットに貼り付けた場合、各キャレットでクリップボード全体が複製されます。
マルチキャレットを使うには、Ctrl+Alt+ キーを押しながらクリックするか、Alt+Shift+. キーを押してから Ctrl+Shift+矢印 キーを押して選択範囲を展開します。 次に、 Ctrl+C キーを押して、複数の選択範囲のテキストをコピーします。 行ごとに複数のキャレットを作成して必要な場所に貼り付けるには、Alt+Shift+マウス クリックを使用します。 最後に、Ctrl+キーを押して、各行を独自のキャレットに貼り付けます。
複数のキャレットを選択するには:
- Alt+Shift+上方向キー (または下方向キー) または Alt+Shift+ドラッグを使用して、複数のキャレットで選択します。 Alt+Shift+矢印キーおよびAlt+Shift+マウスドラッグを使用してマルチキャレット選択を展開する際に、ボックス選択を使用することを好む場合は、ツール>オプション>テキストエディター>詳細設定に移動し、[ボックス選択を使用する] を選択してください。
- または、メニュー バーから [編集]、[>を選択し、目的のアクションを選択して、マルチキャレットの選択にアクセスします。
| マルチキャレット キーボード ショートカット | アクション | コマンド |
|---|---|---|
| Alt++ | マルチキャレットを使用する | Edit.InsertNextMatchingCaret |
| + 方向キー | 選択範囲を展開する | Edit.SizeControlUp、Edit.SizeControlDown、Edit.SizeControlRight、Edit.SizeControlLeft |
| Alt++ (または下方向キー) | 複数のキャレットを選択する | Edit.LineUpExtendColumn、Edit.LineDownExtendColumn |
次のスクリーンショットでは、 -0000 は 3 つの場所で選択されています。ユーザーが Delete キーを押すと、3 つの選択がすべて削除されます。
複数のキャレットを選択するには、通常どおり最初のテキストをクリックまたは選択し、 Ctrl+Alt キーを押しながら、追加の各場所のテキストをクリックまたは選択します。 また、一致するテキストを追加の選択として自動的に追加したり、テキストボックスを選択して各行で同じように編集したりすることもできます。
ヒント
Tools>>> の [定義に移動] でマウス クリックの修飾子キーとして Alt を選択した場合、マルチキャレット選択は無効になります。 詳細については、「 [オプション] ダイアログ ボックス: テキスト エディター/> 全般」を参照してください。
コマンド
マルチキャレット選択の動作には、次のキーとアクションを使用します。
| ショートカット | アクション |
|---|---|
| + + クリック | セカンダリ キャレットを追加する |
| + + ダブルクリック | 2 番目の単語の選択を追加する |
| + + クリック + ドラッグ | セカンダリ選択を追加する |
| + + | 次に一致するテキストを選択範囲として追加する |
| + + | 選択項目として一致するすべてのテキストを追加する |
| Shift+Alt+、 | 最後に選択した出現箇所を削除する |
| + + | 次に一致する出現箇所をスキップする |
| Alt + クリック | ボックスの選択を追加する |
| Esc またはクリック | すべての選択をクリアする |
一部のコマンドは 、[編集] メニューの [ 複数のキャレット] でも使用できます。