Freigeben über


Find2-Schnittstelle

Aktualisiert: November 2007

Unterstützt allgemeine Find-Operationen für Text in Dokumenten und Dateien in der Umgebung.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

<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

Hinweise

Das Find-Objekt ermöglicht das Suchen und Ersetzen von Text in Bereichen der Umgebung, die diese Operationen unterstützen, wie dem Code-Editor.

Es ist in erster Linie für das Aufzeichnen von Makros vorgesehen. Der Makroaufzeichnungsmechanismus des Editors verwendet Find anstelle von TextSelection.FindPattern, sodass Sie die globale Suchfunktionalität anwenden können. Darüber hinaus ist er in der Regel nützlicher als die Verwendung des TextSelection-Objekts für Operationen wie Suchvorgänge in Dateien.

Die Visual Studio-Umgebung verfügt über einen globalen Suchzustand, der von allen Tools, die Suchfunktionen bereitstellen, gemeinsam genutzt wird. Beispielsweise nutzen alle Visual Studio-Elemente denselben Verlauf der während einer Sitzung verwendeten Suchmuster sowie die Information, ob die nächste Find-Operation für geöffnete Dokumente vorwärts oder rückwärts durchgeführt werden soll. Die Eigenschaften des Find-Objekts interagieren mit dem globalen Suchzustand und verfolgen diesen. Durch das Festlegen der Eigenschaften für das Find-Objekt legen Sie gleichzeitig den globalen Suchzustand fest. Wenn Benutzer eine Find-Operation in der Umgebung durchführen, wird die Art der durchgeführten Suche durch das Find-Objekt widergespiegelt. Da Automatisierungscode synchron mit dem UI-Thread der Umgebung ausgeführt wird, müssen Sie einige Eigenschaften nicht festlegen, und der Benutzer muss keine Suche durchführen, bevor Sie Execute aufrufen können.

Die Execute-Methode führt eine Find-Operation auf Grundlage der Einstellungen des Find-Objekts aus. Außerdem können Sie Argumente an die FindReplace-Methode übergeben, um eine Suche ohne Auswirkungen auf den globalen Suchzustand durchzuführen. Es ist wichtig, dass Automatisierungsclients eine Suche durchführen können, ohne den globalen Suchzustand oder das Umgebungszustandsmodell des Endbenutzers zu beeinflussen.

Beispiele

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

Siehe auch

Referenz

Find2-Member

EnvDTE80-Namespace