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