Find2 インターフェイス

更新 : 2007 年 11 月

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

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

構文

'宣言
<GuidAttribute("01568308-5B2A-4F30-8D0A-E10EE0F28F4A")> _
Public Interface Find2 _
    Implements Find
'使用
Dim instance As Find2
[GuidAttribute("01568308-5B2A-4F30-8D0A-E10EE0F28F4A")]
public interface Find2 : Find
[GuidAttribute(L"01568308-5B2A-4F30-8D0A-E10EE0F28F4A")]
public interface class Find2 : Find
public interface Find2 extends 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

参照

参照

Find2 メンバ

EnvDTE80 名前空間