次の方法で共有


Find インターフェイス

ドキュメントやファイルを編集できる環境での一般的なテキストの Find 操作をサポートします。

名前空間:  EnvDTE
アセンブリ:  EnvDTE (EnvDTE.dll 内)

構文

'宣言
<GuidAttribute("40D4B9B6-739B-4965-8D65-692AEC692266")> _
Public Interface Find
[GuidAttribute("40D4B9B6-739B-4965-8D65-692AEC692266")]
public interface Find
[GuidAttribute(L"40D4B9B6-739B-4965-8D65-692AEC692266")]
public interface class Find
[<GuidAttribute("40D4B9B6-739B-4965-8D65-692AEC692266")>]
type Find =  interface end
public interface Find

Find 型で公開されるメンバーは以下のとおりです。

プロパティ

  名前 説明
パブリック プロパティ Action 次を検索、すべて検索、置換と検索などの検索方法を取得または設定します。
パブリック プロパティ Backwards 現在の位置から後方検索を実行するかどうかを示す値を取得または設定します。
パブリック プロパティ DTE トップ レベルの機能拡張オブジェクトを取得します。
パブリック プロパティ FilesOfType 検索するファイルの拡張子を取得または設定します。
パブリック プロパティ FindWhat 検索するテキストまたはパターンを取得または設定します。
パブリック プロパティ KeepModifiedDocumentsOpen Replace 操作の後に、変更したドキュメントが開いたままであるかどうかを示す値を取得または設定します。
パブリック プロパティ MatchCase 検索で大文字と小文字を区別するかどうかを示す値を取得または設定します。
パブリック プロパティ MatchInHiddenText 検索に隠し文字列を含めるかどうかを示す値を取得または設定します。
パブリック プロパティ MatchWholeWord 完全に一致する単語だけを検索するかどうかを示す値を取得または設定します。
パブリック プロパティ Parent Find オブジェクトのすぐ上の親オブジェクトを取得します。
パブリック プロパティ PatternSyntax 検索パターンの指定に使用する構文を取得または設定します。
パブリック プロパティ ReplaceWith 置換操作の置換後のテキストを取得または設定します。
パブリック プロパティ ResultsLocation 一括検索操作の結果を表示する場所を取得または設定します。
パブリック プロパティ SearchPath 複数ファイルからの検索操作に使用するディレクトリの一覧を取得または設定します。
パブリック プロパティ SearchSubfolders サブフォルダーを Search 操作に含めるかどうかを示す値を取得または設定します。
パブリック プロパティ Target 検索操作の対象を取得または設定します。たとえば、アクティブなドキュメント、開いてるすべてのドキュメント、ファイルなどがあります。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド Execute Find オブジェクトに設定されたオプションに基づいて検索を実行します。
パブリック メソッド FindReplace Find に設定されたオプションに影響を与えずに、メソッドに渡された引数に基づいて検索操作または置換操作を実行します。

このページのトップへ

解説

Find オブジェクトを使用すると、検索や置換をサポートするコード エディターなどの環境にあるテキストを検索および置換できます。

Find オブジェクトは、主にマクロの記録を目的として開発されました。エディターのマクロ記録機構では、TextSelection.FindPattern ではなく、Find を使用してグローバル検索機能を実行できます。一般に、複数ファイルからの検索操作などでは、この方法は TextSelection オブジェクトを使用するよりも便利です。

Visual Studio 環境には、検索機能を備えたすべての Visual Studio ツール間で共有されるグローバル検索状態があります。たとえば、Visual Studio のすべての要素は、セッション中に使用された検索パターンの履歴や、開いたドキュメントに対する次の Find 操作が前方検索であるか後方検索であるかの情報を共有します。Find オブジェクトのプロパティは、グローバル検索状態と情報をやり取りし、その状態を追跡します。Find オブジェクトでプロパティを設定すると、グローバル検索状態も設定されます。ユーザーが環境内で Find 操作を実行すると、Find オブジェクトは、実行した検索の種類を反映します。環境の UI スレッドと同期してオートメーション コードが実行されるので、Execute を呼び出す前に、あらかじめプロパティを設定し、ユーザーに検索を実行させる必要はありません。

Execute メソッドは、Find オブジェクトの設定に基づいて、Find 操作を実行します。また、FindReplace メソッドに引数を渡して、グローバル検索状態に影響を与えずに検索を実行することもできます。オートメーション クライアントで検索を実行する場合、グローバル検索状態やエンド ユーザーが使用している環境の状態モデルに影響を与えないようにする必要があります。

Sub FindExample()
   Dim objTextDoc As TextDocument
   Dim objEditPt As EditPoint
   Dim iCtr As Integer
   Dim objFind As Find

   ' Create a new text file.
   DTE.ItemOperations.NewFile("General\Text File")

   ' Get a handle to the new document and create an EditPoint.
   objTextDoc = DTE.ActiveDocument.Object("TextDocument")
   objEditPt = objTextDoc.StartPoint.CreateEditPoint
   objFind = objTextDoc.DTE.Find

   ' Insert ten lines of text.
   For iCtr = 1 To 10
      objEditPt.Insert("This is a test." & Chr(13))
   Next iCtr

   ' Set the find options.
   objFind.Action = vsFindAction.vsFindActionReplaceAll
   objFind.Backwards = False
   objFind.FilesOfType = "*.txt"
   objFind.FindWhat = "test"
   objFind.KeepModifiedDocumentsOpen = True
   objFind.MatchCase = False
   objFind.MatchInHiddenText = False
   objFind.MatchWholeWord = True
   objFind.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxLiteral
   objFind.ReplaceWith = "NEW THING"
   objFind.ResultsLocation = vsFindResultsLocation.vsFindResultsNone
   objFind.SearchPath = "c:\temp"
   objFind.SearchSubfolders = False
   objFind.Target = vsFindTarget.vsFindTargetCurrentDocument
   ' Perform the Find operation.
   objFind.Execute()
End Sub

参照

関連項目

EnvDTE 名前空間