Find2 接口
支持文档和文件环境中的常规文本 Find 操作。
命名空间: EnvDTE80
程序集: EnvDTE80(在 EnvDTE80.dll 中)
语法
声明
<GuidAttribute("01568308-5B2A-4F30-8D0A-E10EE0F28F4A")> _
Public Interface Find2 _
Inherits Find
[GuidAttribute("01568308-5B2A-4F30-8D0A-E10EE0F28F4A")]
public interface Find2 : Find
[GuidAttribute(L"01568308-5B2A-4F30-8D0A-E10EE0F28F4A")]
public interface class Find2 : Find
[<GuidAttribute("01568308-5B2A-4F30-8D0A-E10EE0F28F4A")>]
type Find2 =
interface
interface Find
end
public interface Find2 extends Find
Find2 类型公开以下成员。
属性
名称 | 说明 | |
---|---|---|
Action | (继承自 Find。) | |
Action | 获取或设置查找方式,例如查找下一个匹配、查找全部、替换和查找等。 | |
Backwards | (继承自 Find。) | |
Backwards | 获取或设置一个值,该值表示是否从当前位置执行向后搜索。 | |
DTE | (继承自 Find。) | |
DTE | 获取顶级扩展性对象。 | |
FilesOfType | (继承自 Find。) | |
FilesOfType | 获取或设置要搜索的文件的文件扩展名。 | |
FindWhat | (继承自 Find。) | |
FindWhat | 获取或设置要查找的文本或模式。 | |
KeepModifiedDocumentsOpen | (继承自 Find。) | |
KeepModifiedDocumentsOpen | 获取或设置一个值,该值表示在替换操作之后是否使修改的文档保持打开。 | |
MatchCase | (继承自 Find。) | |
MatchCase | 获取或设置表示搜索是否区分大小写的值。 | |
MatchInHiddenText | (继承自 Find。) | |
MatchInHiddenText | 获取或设置一个值,该值表示搜索中是否包括隐藏文本。 | |
MatchWholeWord | (继承自 Find。) | |
MatchWholeWord | 获取或设置一个值,该值表示搜索是否为全字匹配。 | |
Parent | (继承自 Find。) | |
Parent | 获取 Find 对象的直接父对象。 | |
PatternSyntax | (继承自 Find。) | |
PatternSyntax | 获取或设置用于指定搜索模式的语法。 | |
ReplaceWith | (继承自 Find。) | |
ReplaceWith | 获取或设置替换操作的替换文本。 | |
ResultsLocation | (继承自 Find。) | |
ResultsLocation | 获取或设置在批量搜索操作中显示结果的位置。 | |
SearchPath | (继承自 Find。) | |
SearchPath | 获取或设置用于“在文件中查找”操作的目录列表。 | |
SearchSubfolders | (继承自 Find。) | |
SearchSubfolders | 获取或设置一个值,该值表示搜索操作中是否包括子文件夹。 | |
Target | (继承自 Find。) | |
Target | 获取或设置搜索操作的目标,例如所有打开的文档、文件和活动文档等。 | |
WaitForFindToComplete | 获取或设置一个值,该值表示继续执行之前是否返回查找结果。 |
页首
方法
名称 | 说明 | |
---|---|---|
Execute() | (继承自 Find。) | |
Execute() | 根据为 Find 对象设置的选项执行搜索。 | |
FindReplace(vsFindAction, String, Int32, String, vsFindTarget, String, String, vsFindResultsLocation) | (继承自 Find。) | |
FindReplace(vsFindAction, String, Int32, String, vsFindTarget, String, String, vsFindResultsLocation) | 根据此方法的参数执行“查找”或“替换”操作,不影响为 Find 对象设置的选项。 |
页首
备注
Find 对象使您可以在支持搜索和替换操作的环境(例如代码编辑器)中搜索并替换文本。
它主要用于宏记录。 编辑器的宏录制机制使用 Find 而不是 TextSelection.FindPattern,因此您可以发现全局查找功能。 而且,这通常比使用 TextSelection 对象进行诸如“在文件中查找”的操作更有用。
Visual Studio 环境的全局查找状态可在其所有工具中共享,并提供搜索功能。 例如,所有 Visual Studio 元素共享会话期间使用的搜索模式的历史记录,还共享关于打开文档的下一个 Find 操作是向前还是向后进行的信息。 Find 对象的属性与全局查找状态交互并跟踪全局查找状态。 当在 Find 对象上设置属性时,也设置了全局查找状态。 如果用户通过环境执行 Find 操作,则 Find 对象反映它们执行的搜索类型。 由于自动化代码与环境的 UI 线程同步运行,因此您无需考虑在调用 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