Condividi tramite


Interfaccia Find2

Aggiornamento: novembre 2007

Supporta operazioni Find di testo generiche di documenti e file nell'ambiente.

Spazio dei nomi:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Sintassi

<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

Note

L'oggetto Find consente di cercare e sostituire testo presente in parti dell'ambiente che supportano operazioni di questo tipo, ad esempio l'editor di codice.

Viene utilizzato principalmente nella registrazione di macro. Il meccanismo di registrazione delle macro dell'editor utilizza Find anziché TextSelection.FindPattern per consentire l'utilizzo della funzionalità di ricerca globale. Inoltre, si rivela in genere più utile rispetto all'utilizzo dell'oggetto TextSelection per operazioni quali la ricerca nei file.

Lo stato di ricerca globale dell'ambiente di Visual Studio è condiviso da tutti gli strumenti e fornisce funzionalità di ricerca. Ad esempio, tutti gli elementi di Visual Studio condividono la cronologia dei criteri di ricerca utilizzati nel corso di una sessione e le informazioni relative alla direzione di ricerca dell'operazione Find successiva di documenti aperti. Le proprietà dell'oggetto Find interagiscono e tengono traccia dello stato di ricerca globale. Quando si impostano le proprietà sull'oggetto Find, si imposta anche lo stato di ricerca globale. Se gli utenti eseguono un'operazione Find nell'ambiente, l'oggetto Find rifletterà il tipo di ricerca eseguito. Poiché il codice di automazione viene eseguito in modo sincrono con il thread dell'interfaccia utente dell'ambiente, non è necessario impostare proprietà e chiedere all'utente di eseguire una ricerca prima di chiamare il metodo Execute.

Il metodo Execute esegue un'operazione Find in base alle impostazioni dell'oggetto Find. È anche possibile passare argomenti al metodo FindReplace per eseguire una ricerca senza influire sullo stato di ricerca globale. È importante che i client di automazione siano in grado di effettuare ricerche senza modificare lo stato globale e senza interferire con il modello dello stato dell'ambiente dell'utente finale.

Esempi

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

Vedere anche

Riferimenti

Membri Find2

Spazio dei nomi EnvDTE80