GREP_INFO_EX¶
用於 Editor_FindInFiles 巨集, Editor_ReplaceInFiles 巨集 ( EE_FIND_IN_FILESW 消息, EE_REPLACE_IN_FILESW 消息) 中。
typedef struct _GREP_INFOW {
size_t cbSize;
UINT nCP;
UINT64 nFlags;
LPCWSTR pszFind;
LPCWSTR pszReplace;
LPCWSTR pszPath;
LPCWSTR pszBackupPath;
LPCWSTR pszFilesToIgnore;
UINT nLimit;
UINT64 nTotalCount;
HRESULT hr;
} GREP_INFOW;
欄位¶
cbSize
指定 size_of(GREP_INFO_EX)。
nCP
指定打開一個檔案的程式碼頁。
CODEPAGE_ANSI | 標準 ANSI |
CODEPAGE_UNICODE | Unicode little endian |
CODEPAGE_UNICODE_BIGENDIAN | Unicode big endian |
CODEPAGE_UTF8 | UTF-8 |
CODEPAGE_UTF7 | UTF-7 |
CODEPAGE_932 | 日文 Shift JIS |
CODEPAGE_JIS | 日文 JIS |
CODEPAGE_EUC | 日文 EUC |
CODEPAGE_AUTO_SJIS_JIS | 從日文 Shift JIS 和 JIS 轉換。 |
CODEPAGE_AUTO_SJIS_JIS_EUC | 從 日文 Shift JIS、JIS、EUC 轉換。 |
Others | 你能通過系統使用的所有程式碼頁。 |
CODEPAGE_DETECT_UNICODE | 偵測 Unicode。不能與另一個值合併使用。 |
CODEPAGE_DETECT_UTF8 | 偵測 UTF-8。 不能與另一個值合併使用。 |
CODEPAGE_DETECT_CHARSET | 偵測 HTML/XML 字元集。不能與另一個值合併使用。 |
CODEPAGE_DETECT_ALL | 偵測所有程式碼頁。可以與其他值合併使用。 |
nFlags
指定一個下列值的組合。
FLAG_FIND_CASE | 區分大小寫。 |
FLAG_FIND_COUNT_FREQUENCY | 從尋找結果中創建常用字串清單。必須與 FLAG_FIND_OUTPUT_DISPLAY 合併使用。 |
FLAG_FIND_ESCAPE | 使用逸出數列。不能與 FLAG_FIND_REG_EXP 合併使用。 |
FLAG_FIND_FUZZY | 使用模糊比對。 |
FLAG_FIND_IGNORE_FILES | 忽略被 pszFilesToIgnore 指定的檔案或資料夾。 |
FLAG_FIND_ONLY_WORD | 符合整個單字。 |
FLAG_FIND_RECURSIVE | 在指定路徑的子資料夾中搜索。 |
FLAG_FIND_REG_EXP | 使用規則運算式。不能與 FLAG_FIND_ESCAPE 合併使用。 |
FLAG_FIND_REGEX_BOOST | 把 Boost.Regex 作為規則運算式引擎。 |
FLAG_FIND_REGEX_ONIGMO | 把 Onigmo 作為規則運算式引擎,Ruby 語法。 |
FLAG_FIND_REGEX_ONIGMO_PERL | 使用 Onigmo 作為規則運算式引擎,Perl 語法。 |
FLAG_FIND_OPEN_DIRECT | 直接打開包含指定字串的文檔。不能與 FLAG_FIND_OPEN_FILTER or FLAG_FIND_OUTPUT 合併使用。 |
FLAG_FIND_OPEN_FILTER | 直接打開包含指定字串的文檔,並且把指定字串設為篩選器。不能與 FLAG_FIND_OPEN_DIRECT 或 FLAG_FIND_OUTPUT 合併使用。 |
FLAG_FIND_OUTPUT | 在輸出列清單中顯示多檔尋找搜索結果。不能與 FLAG_FIND_OPEN_DIRECT 或 FLAG_FIND_OPEN_FILTER 合併使用。 |
FLAG_FIND_OUTPUT_ENCODING | 將編碼名稱附加到檔案名。 |
FLAG_FIND_SEPARATE_CRLF | 區分 CR 和 LF。 |
FLAG_REPLACE_BACKUP | 儲存備份。不能與 FLAG_REPLACE_KEEP_OPEN 合併使用。 |
FLAG_REPLACE_KEEP_OPEN | 儲存修改的檔案開啟。不能與 eeReplaceBackup 合併使用。也不能與 FLAG_REPLACE_BACKUP 合併使用。 |
此外,您可以指定以下值之一。
FLAG_FIND_FILE_AND_MATCHED | 搜索結果將顯示檔案名和符合的字串。 |
FLAG_FIND_FILE_LINE_AND_MATCHED | 搜索結果將顯示檔案名,行號和符合的字串。 |
FLAG_FIND_FILENAMES_ONLY | 搜索結果僅顯示檔案名,而包含搜索字串的整行將不顯示為結果。 |
FLAG_FIND_LINE_ONLY | 搜索結果僅顯示包含搜索字串的整行。 |
FLAG_FIND_MATCHED_ONLY | 搜索結果僅顯示符合的字串。 |
pszFind
指定要搜索的字串。
pszReplace
當在多個檔案中取代時,指定要取代成的字串。
pszPath
指定要搜索的路徑。它能包括通配符例如 \* 和 ?。
pszBackupPath
當多個檔案取代時,指定備份資料夾,如果 nFlags 包含 FLAG_REPLACE_BACKUP 的話。
pszFilesToIgnore
如果 nFlags 包含 FLAG_FIND_IGNORE_FILES,指定要忽略的檔案或資料夾名稱。它能包括通配符,例如 * 和 ?。要指定多個檔案,請用分號來分隔檔案。
nLimit
當符合數達到此數字時,EmEditor 停止搜索檔案。 如果指定 0,則 EmEditor 不會停止搜索檔案。
nTotalCount
返回時,此欄位將接收所有搜索的檔案中符合字串出現的總數。如果不用於取代檔案,則返回值為所有搜索的檔案中包含符合字串的行總數。
hr
此欄位將由結果值填充,其中負值表示錯誤。錯誤值包括以下值。
E_WRONG_NUM_FORMAT | 檢測到數字/IP 地址範圍的格式不正確。 |
E_REGEX_UNKNOWN | 規則運算式引擎中發生未知錯誤。 |
版本¶
支持 Version 15.7 或之後的版本。