Interfaccia Find
Aggiornamento: novembre 2007
Supporta operazioni generali Find di testo nei documenti e file dell'ambiente.
Spazio dei nomi: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Sintassi
<GuidAttribute("40D4B9B6-739B-4965-8D65-692AEC692266")> _
Public Interface Find
Dim instance As Find
[GuidAttribute("40D4B9B6-739B-4965-8D65-692AEC692266")]
public interface Find
[GuidAttribute(L"40D4B9B6-739B-4965-8D65-692AEC692266")]
public interface class Find
public interface Find
Note
L'oggetto Find consente di cercare e sostituire del testo contenuto in parti dell'ambiente che supportano tali operazioni, ad esempio l'editor di codice.
Viene utilizzato principalmente nella registrazione di macro. Nel meccanismo di registrazione delle macro dell'editor viene utilizzato Find invece di TextSelection.FindPattern per consentire di individuare la funzionalità di ricerca globale e perché in genere risulta più utile rispetto all'utilizzo dell'oggetto TextSelection per operazioni quali la ricerca all'interno di file.
L'ambiente Visual Studio dispone di uno stato globale di ricerca condiviso da tutti gli strumenti che forniscono 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. Le proprietà dell'oggetto Find interagiscono e tengono traccia dello stato globale di ricerca. Quando si impostano le proprietà dell'oggetto Find, è possibile impostare anche lo stato globale di ricerca. Se gli utenti eseguono operazioni Find nell'ambiente, l'oggetto Find rifletterà i tipi di ricerche effettuati. Poiché il codice di automazione viene eseguito in modo sincrono rispetto al thread dell'interfaccia utente dell'ambiente, non è necessario impostare alcune delle proprietà e richiedere all'utente di eseguire una ricerca per poter chiamare il metodo Execute.
Il metodo Execute esegue un'operazione Find basata sulle impostazioni dell'oggetto Find. È possibile inoltre passare al metodo FindReplacedegli argomenti che consentono di effettuare ricerche senza modificare lo stato globale di ricerca. È 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