次の方法で共有


Find2 インターフェイス

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

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

構文

'宣言
<GuidAttribute("01568308-5B2A-4F30-8D0A-E10EE0F28F4A")> _
Public Interface Find2 _
    Inherits Find
[GuidAttribute("01568308-5B2A-4F30-8D0A-E10EE0F28F4A")]
public interface Find2 : Find
[GuidAttribute(L"01568308-5B2A-4F30-8D0A-E10EE0F28F4A")]
public interface class Find2 : Find
[<GuidAttribute("01568308-5B2A-4F30-8D0A-E10EE0F28F4A")>]
type Find2 =  
    interface 
        interface Find 
    end
public interface Find2 extends Find

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

プロパティ

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

このページのトップへ

メソッド

  名前 説明
パブリック メソッド 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

参照

関連項目

EnvDTE80 名前空間