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