Find - интерфейс
Поддерживает общие операции Find для текста в документах и файлах среды.
Пространство имен: EnvDTE
Сборка: EnvDTE (в EnvDTE.dll)
Синтаксис
'Декларация
<GuidAttribute("40D4B9B6-739B-4965-8D65-692AEC692266")> _
Public Interface Find
[GuidAttribute("40D4B9B6-739B-4965-8D65-692AEC692266")]
public interface Find
[GuidAttribute(L"40D4B9B6-739B-4965-8D65-692AEC692266")]
public interface class Find
[<GuidAttribute("40D4B9B6-739B-4965-8D65-692AEC692266")>]
type Find = interface end
public interface Find
Тип Find предоставляет следующие члены.
Свойства
Имя | Описание | |
---|---|---|
Action | Возвращает или задает способы поиска (найти далее, учитывать регистр, найти все, заменить и найти и т. д.). | |
Backwards | Указывает, осуществляется ли поиск по документу в обратном направлении от текущей позиции, или получает информацию об этом. | |
DTE | Возвращает объект расширения верхнего уровня. | |
FilesOfType | Задает или получает расширение файлов, в которых осуществляется поиск. | |
FindWhat | Возвращает или задает искомый текст или шаблон. | |
KeepModifiedDocumentsOpen | Возвращает или задает значение, указывающее, остаются ли измененные документы открытыми после операции Replace. | |
MatchCase | Возвращает или задает значение, указывающее, учитывается ли при поиске регистр. | |
MatchInHiddenText | Возвращает или задает значение, указывающее, включается ли в поиск скрытый текст. | |
MatchWholeWord | Возвращает или задает значение, указывающее, производится ли поиск только по точным совпадениям слов. | |
Parent | Возвращает непосредственный родительский объект для объекта Find. | |
PatternSyntax | Задает или возвращает синтаксис, который используется при указании шаблона поиска. | |
ReplaceWith | Возвращает или задает текст, на который осуществляется замещение при выполнении операции замещения. | |
ResultsLocation | Возвращает или задает место отображения результатов во время операции массового поиска. | |
SearchPath | Возвращает или задает список каталогов, которые будут использоваться при поиске в файлах. | |
SearchSubfolders | Возвращает или задает значение, указывающее, будут ли при операции Search включаться в поиск вложенные папки. | |
Target | Возвращает или задает целевой объект операции поиска, например, все открытые документы, файлы, активный документ и т. д. |
В начало страницы
Методы
Имя | Описание | |
---|---|---|
Execute | Выполняет поиск с использованием параметров, заданных для объекта Find. | |
FindReplace | Выполняет операции поиска или замены с использованием аргументов метода. На параметры Find влияния не оказывает. |
В начало страницы
Заметки
Объект Find позволяет выполнять поиск и замену текста в компонентах среды, поддерживающих подобные операции, например в редакторе кода.
Этот объект предназначен главным образом для использования при записи макросов. В механизме записи макросов редактора используется класс Find вместо TextSelection.FindPattern, что обеспечивает доступ к функциям глобального поиска; к тому же этот объект эффективнее объекта TextSelection в таких операциях, как поиск в файлах.
В среде Visual Studio есть глобальное состояние поиска, которое используется для всех ее инструментов, предоставляющих возможности поиска. Например, во всех элементах Visual Studio используется общий журнал шаблонов поиска, применявшихся во время сеанса, а также указать направления просмотра (прямого или обратного) в следующей операции Find для открытых документов. Свойства объекта Find обеспечивают взаимодействие с глобальным состоянием поиска и отслеживание его изменений. Когда задаются свойства объекта Find, тем самым задается и глобальное состояние поиска. Если пользователь выполняет операцию Find с помощью среды, объект Find будет отражать тип выполненного поиска. Так как код автоматизации выполняется синхронно с потоком пользовательского интерфейса среды, это избавляет от необходимости задавать некоторые свойства и требовать от пользователя выполнения поиска перед вызовом Execute.
Метод Execute выполняет операцию Find с использованием параметров объекта Find. Можно также передать аргументы в метод FindReplace, чтобы выполнить поиск, не затрагивая глобального состояния поиска. Важно, чтобы клиенты автоматизации имели возможность выполнить поиск, не влияя на глобальное состояние поиска и избегая конфликтов с моделью состояния среды конечного пользователя.
Примеры
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