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