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 物件會反映他們所執行的搜尋種類。 由於 Automation 程式碼與環境的 UI 執行緒同步執行,因此您不必擔心是否需要在可呼叫 Execute 之前,設定某些屬性或讓使用者執行搜尋。
Execute 方法根據 Find 物件的設定執行 Find 作業。 您也可以傳遞引數給 FindReplace 方法執行搜尋,而不影響全域尋找狀態。 Automation 用戶端必須能執行搜尋,而不影響全域尋找狀態或干擾到使用者的環境狀態模型。
範例
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