Version 21.7 新增功能
2022年5月11日
一般新增功能
- 新版本會預設用垂直分割視窗顯示比較檔案的結果,當您選擇比較或按參數比較命令時。之前使用的平鋪視窗顯示仍然可以通過設定選項來實現。
- 如果重新加載之前捲動位置在底部,則新版本將在重新加載檔案時保持捲動位置在底部。
- 當在組態屬性的檔案頁面中選擇偵測全部選項時,如果 Windows 不支持偵測到的編碼(如VISCII),新版本將繼續以系統預設編碼打開檔案並顯示通知。
- 改進了 URI 亮顯顯示。
- 改善了 CSV 選擇模式中的行選取行為。
- 將水平網格的預設樣式由虛線改為普通,並優化垂直分隔符的繪制速度。
- 在某些組態(包括 C++)中變更了規則運算式中結尾縮排的預設值。
- 批次取代對話方塊支持多項取代全部。多項取代全部會在文檔中同時搜索所有搜索字串,而批次取代全部則在文檔中一次搜索一個搜索字串,然後重複對每個搜索詞的搜索。多項取代全部的速度比批次取代全部快得多。詳細信息請參閱批次取代全部和多項取代全部之間的區別。
測試結果:
批次取代全部(v21.7) | 多項取代全部(v21.7) | 比較 | |
---|---|---|---|
取代全部 | 50 分 55 秒 | 0.484 秒 | 快 6310 倍 |
* 用隨機字串取代 100 萬個隨機字串,忽略大小寫,966 KB,10,000 行,隨機 ASCII 數據。預設選項;操作系統:Windows 11,Core i9-11900K,64GB RAM,2TB SSD。
新增選項
- 添加了多項取代全部按鈕到批次取代和批次多檔取代對話方塊中。
- 添加了多項尋找按鈕到批次多檔尋找和批次多檔取代對話方塊中。
- 添加了垂直分割選項按鈕到比較檔案精靈的選擇檢視選項頁面中。
- 添加了僅在 EmEditor 處於活動狀態時監控檔案選項到自訂對話方塊的檔案頁面上。
外掛程式的新增功能
- 添加了 FLAG_FIND_MULTI 標志到 BATCH_INFO 結構中。
- 添加了 LFI_DONT_ADD_RECENT 標志到 LOAD_FILE_INFO_EX 結構中。
- 添加了 COMPARE_SPLIT_VERT 標志到 Editor_Compare 內嵌函式以及 COMPARE_INFO 結構中。
新增巨集功能
- 添加了 eeExFindMulti 標志到 Selection 對象的 BatchReplace 方法和 Editor 對象的 BatchFindInFiles 和 BatchReplaceInFiles 方法中。
- 添加了 eeCompareSplitVert 標志到 Editor 對象的 Compare方法中。
批次取代全部和多項取代全部之間的區別
批次取代全部一次在整個文檔中搜索一個字串,並按搜索字串的數量重複此過程。多項取代全部同時搜索所有搜索字串。這個區別會導致不同的結果,如果搜索/取代字串配對包含如下範例:
1 → 5
2 → 4
4 → 2
5 → 1
並且如果源文檔是:
[1,2,3,4,5]
在這個情況下,如果用批次取代全部,EmEditor 會先把整個文檔中的 1 取代為 5,然後再將 2 取代為 4。這樣,源文檔會變為:
[5,4,3,4,5]
接下來,當它將 4 取代為 2 時,請註意它將取代兩個 4(第二個和第四個數字)。最後,當它將 5 取代為 1 時,它將取代兩個 5(第一個和最後一個數字)。因此,結果將是:
[1,2,3,2,1]
如果使用新的多項取代全部,EmEditor 將同時取代所有字串。因此,結果將是:
[5,4,3,2,1]
多項取代全部的執行速度會比批次取代全部快很多。在我們的測試中,多項取代全部的速度比批次取代全部快 6310 倍,當搜索/取代配對有 100 萬個時。(請參考測試結果)。
多項取代全部不支援規則運算式,數字範圍,或包含換行的字串。