Find (Interfaz)

Actualización: noviembre 2007

Admite operaciones Find generales de texto para documentos y archivos del entorno.

Espacio de nombres:  EnvDTE
Ensamblado:  EnvDTE (en EnvDTE.dll)

Sintaxis

<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

Comentarios

El objeto Find permite buscar y reemplazar texto en lugares del entorno que admiten estas operaciones, como el Editor de código.

Está diseñado principalmente para fines de grabación de macros. El mecanismo de grabación de macros del editor utiliza Find en lugar de TextSelection.FindPattern de forma que sea posible descubrir la funcionalidad de búsqueda global y porque suele ser más útil que utilizar el objeto TextSelection para operaciones como Buscar en archivos.

El entorno de Visual Studio tiene un estado de búsqueda global compartido en todas sus herramientas que proporciona características de búsqueda. Por ejemplo, todos los elementos de Visual Studio comparten el historial de modelos de búsqueda usados durante una sesión y si la siguiente operación Find para los documentos abiertos debe ser hacia delante o hacia atrás. Las propiedades del objeto Find interactúan con el estado de búsqueda global y realizan un seguimiento del mismo. Al establecer las propiedades del objeto Find, también se establece el estado de búsqueda global. Si los usuarios realizan una operación Find en el entorno, el objeto Find refleja el tipo de búsqueda efectuada. Puesto que el código de automatización se ejecuta sincrónicamente con el subproceso de interfaz de usuario del entorno, no es necesario establecer algunas de las propiedades y hacer que el usuario realice una búsqueda antes de poder llamar a Execute.

El método Execute realiza una operación Find basada en la configuración del objeto Find. También se pueden pasar argumentos al método FindReplace para realizar una búsqueda sin afectar al estado de búsqueda global. Es importante para los clientes de automatización poder realizar una búsqueda sin afectar al estado global de búsqueda ni interferir con el modelo que posee el usuario final del estado del entorno.

Ejemplos

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

Vea también

Referencia

Find (Miembros)

EnvDTE (Espacio de nombres)