Version 21.7 の新機能

2022年 5月 11日

一般の新機能

  • 新バージョンは、[比較] コマンド、または [オプションを指定して比較] コマンドを実行した時、ファイルの比較の結果を、既定では、1 つの左右に分割されたウィンドウに表示するようになりました。設定により従来のようにウィンドウを並べて表示することも可能です。
  • 新バージョンは、読み直し前にスクロール位置が最下部の場合、ファイルの読み直しでスクロール位置が最下部を保持するようになりました。
  • 設定のプロパティの [ファイル] ページで [すべて自動検出] オプションが設定されている場合で、検出されたエンコードが Windows でサポートされていない場合 (VISCII など)、新バージョンは、システム既定エンコードとして継続して開くようになり、通知を表示するようになります。
  • URI 強調表示を改善しました。
  • CSV 選択モードで行選択の改善。
  • 水平グリッドの既定のスタイルを点線から標準に変更し、垂直区切り線の描画速度を向上しました。
  • C++ を含む設定でインデント終了の正規表現の既定値を変更しました。
  • [連続置換] ダイアログ ボックスで [すべて一括置換] をサポートしました。[すべて連続置換] は文書から 1回に 1個ずつ文字列を検索して、その検索を各検索文字列に対して繰り返しますが、[すべて一括置換] は文書からすべての検索文字列を同時に検索します。[すべて一括置換] は [すべて連続置換] よりも高速に動作します。詳しくは、[すべて連続置換] と [すべて一括置換] の違いをお読みください。

テスト 結果:

すべて連続置換 (v21.7)すべて一括置換 (v21.7)比較
すべて置換50 分 55 秒0.484 秒6,310 倍に高速化

* 100万個のランダム文字列をランダム文字列に置換、大文字と小文字を区別しない、966 KB, 10,000行、ランダム ASCII データ。既定オプション、Windows 11、Core i9-9900K、32GB RAM、2TB SSD。

新しい設定

  • [連続置換] ダイアログ ボックスと [ファイルから連続置換] ダイアログ ボックスに [すべて一括置換] ボタンを追加しました。
  • [ファイルから連続検索] ダイアログ ボックスと [ファイルから連続置換] ダイアログ ボックスに [一括検索] ボタンを追加しました。
  • [ファイルの比較] ウィザードの [表示オプションの選択] ページに [左右に分割する] ラジオ ボタンを追加しました。
  • [カスタマイズ] ダイアログの [ファイル] ページに [EmEditor がアクティブな時だけファイルを監視する] オプションを追加しました。

プラグインの新機能

  • BATCH_INFO 構造体に FLAG_FIND_MULTI フラグを追加しました。
  • LOAD_FILE_INFO_EX 構造体に LFI_DONT_ADD_RECENT フラグを追加しました。
  • Editor_Compare インライン関数と COMPARE_INFO 構造体に COMPARE_SPLIT_VERT フラグを追加しました。

マクロの新機能

  • Selection オブジェクトの BatchReplace メソッドと Editor オブジェクトの BatchFindInFiles メソッドと BatchReplaceInFiles メソッドに eeExFindMulti フラグを追加しました。
  • Editor オブジェクトの Compare メソッドに eeCompareSplitVert フラグを追加しました。

[すべて連続置換] と [すべて一括置換] の違い

[すべて連続置換] は一度に文書全体で 1つの文字列を検索して、この手順を文字列の数だけ繰り返します。その一方、[すべて一括置換] は、すべての検索文字列を同時に検索します。この違いは、次のような場合に、異なる結果をもたらします。それは、例えば、検索/置換文字列に、

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 に置換する時、2つの 4 (2番目と4番目の数字) を置換することに注意してください。最後に、5 を 1 に置換する時、2つの 5 (最初と最後の数字) を置換します。したがって、結果は次のようになります。

[1,2,3,2,1]

新しい [すべて一括置換] を使用すると、EmEditor はすべての文字列を同時に置換します。したがって、結果は、期待通り、次のようになります。

[5,4,3,2,1]

[すべて一括置換] は、[すべて連続置換] よりもずっと高速に動作します。私共のテストでは、100万件の検索/置換ペアが存在する場合、[すべて一括置換] は、[すべて連続置換] より 6310 倍も高速に動作しました (テスト結果を参照)。

[すべて一括置換] は正規表現、数値範囲、改行を含む検索文字列をサポートしていません。