Find, interface
Mise à jour : novembre 2007
Prend en charge les opérations Find dans l'environnement pour les documents et les fichiers.
Espace de noms : EnvDTE
Assembly : EnvDTE (dans EnvDTE.dll)
Syntaxe
<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
Notes
L'objet Find vous permet de rechercher et de remplacer du texte dans différents endroits de l'environnement qui prennent en charge ces opérations, par exemple l'éditeur de code.
Il sert principalement pour enregistrer des macros. Le mécanisme d'enregistrement de macros de l'éditeur utilise Find plutôt que TextSelection.FindPattern afin que vous puissiez découvrir la fonctionnalité de recherche globale et parce qu'il est généralement plus utile que d'utiliser TextSelection pour des opérations telles que Rechercher dans les fichiers.
L'environnement Visual Studio dispose d'un état de recherche global qui est partagé par tous ses outils qui fournissent des fonctionnalités de recherche. Par exemple, tous les éléments Visual Studio partagent l'historique des critères de recherche utilisés lors d'une session et le sens (en avant ou en arrière) de l'opération Find pour les documents ouverts. Les propriétés de l'objet Find interagissent avec et suivent l'état de recherche global. Lorsque vous définissez des propriétés sur l'objet Find, vous définissez également l'état de recherche global. Si les utilisateurs exécutent une opération Find via l'environnement, l'objet Find reflète le type de recherche qu'ils exécutent. Dans la mesure où le code automation s'exécute de façon synchrone avec le thread d'interface utilisateur de l'environnement, vous n'avez pas à vous soucier de la définition de certaines propriétés et de l'exécution d'une recherche par l'utilisateur avant de pouvoir appeler Execute.
La méthode Execute exécute une opération Find basée sur les paramètres de l'objet Find. Vous pouvez également passer les arguments à la méthode FindReplace pour effectuer une recherche sans affecter l'état de recherche global. Il est important pour les clients automation d'être capable d'effectuer une recherche sans affecter l'état de recherche global ou interférer avec le modèle utilisateur final de l'état de l'environnement.
Exemples
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