本日、EmEditor v21.8.0 を公開いたしました。
EmEditor の以前のバージョン (v21.7) では、分割ウィンドウで比較や同期スクロールの結果の表示をサポートしました。新しいバージョンでは、その分割ウィンドウを改善しました。v21.8 では、この種類の分割ウィンドウでは、文書の上部に文書のタイトルを表示するようになり、どの文書が右側で、どの文書が左側かが分かりやすくなりました。分割ウィンドウのサイズを変更したり最大化すると、以前のバージョンでは、分割境界位置を調節しませんでした。新しいバージョンでは、ウィンドウのサイズを変更するにつれて、それに比例して分割境界を自動的に調節するようになりました。さらに、v21.8 は、[分割表示] コマンドを使用して、2個の文書の比較や同期スクロールを行わないで、単純に分割ウィンドウで並べて表示することが可能になりました。以上の機能は、すべて EmEditor Professional と EmEditor Free でサポートされています。
EmEditor Professional の主な機能は、v21.7 で既に実装された [すべて一括置換] の機能を使用する時に、正規表現 (RegEx) と数値範囲表現 (NumRange) を検索文字列に含めることが可能になったことです。このお客様を含め複数のお客様がこの改善を望まれていました。大部分は単純な文字列ですが、検索文字列の一覧に、少数の RegEx を含めたい場合に便利です。[すべて一括置換] は、すべての検索文字列が RegEx でも NumRange でもない (無し) 場合に最も速く動作します。RegEx を検索文字列の一覧に追加すると、[すべて一括置換] の動作速度は著しく低下します。しかし、少数の RegEx が存在する場合は、[すべて一括置換] の方が [すべて連続置換] よりも高速に動作します。
RegEx、NumRange、(無し) を検索文字列の一覧に混在させると、[すべて一括置換] は、これらすべての文字列を同時に検索しますが、競合が発生することがあります。競合が発生した場合、(無し) が優先度が最も高く、NumRange が次に優先度が高く、RegEx が最も優先度が低くなります。
例えば、次のように 3個の文字列を検索するとします。
RegEx: [1-3] → A
NumRange: [1, 2] → B
(無し): 1 → C
そして、元の文書が
[ 1 2 3 ]
となっていた場合です。この例では、RegEx は 1、2、3 のすべてに一致し、NumRange は 1 と 2 に一致し、(無し) は 1 のみに一致します。[すべて一括置換] が 1 を見つけると、これらすべての表現は 1 に一致します。この場合、[すべて一括置換] は (無し) が最も優先度が高いため、 (無し) を選択します。次に、2 を見つけると、NumRange と RegEx が 2 に一致します。NumRange の方が RegEx より優先度が高いため、NumRange を選択します。3 を見つけた時は、RegEx のみが 3 に一致します。
したがって、結果は次のようになります。
[ C B A ]
このようにして、EmEditor は [すべて一括置換] のタスクを速度によって最適化しています。[すべて一括置換] の速度をさらに改善するためには、RegEx と NumRange の検索文字列の数を減らすことをおすすめします。例えば、次のようなグループ正規表現があったとします。
(x|y)
高速化するためには、これを次のように 2個の単純な文字列に展開することをおすすめします。
x
y
さらに v21.8 では、[ファイルから連続検索] ダイアログ ボックスの [一括検索] と [ファイルから連続置換] ダイアログ ボックスの [すべて一括置換] でも、RegEx と NumRange 検索文字列をサポートしました。
v21.8 の他の新機能は、江村誠により開発されたコミット リスト プラグインの追加で、このプラグインは、Git リポジトリのコミット履歴を表示します。このプラグインは、異なるリビジョン間の比較を簡単に行うことができます。プラグインの現在の最小限の機能セットにより、皆様のフィードバックが将来のバージョンに活かされる機会を残していますので、プラグインにどの機能を取り入れて欲しいか、フィードバックをぜひお聞かせください。
あるお客様は、[ファイルから検索] で作業中にファイルのタイムスタンプにより検索ファイルを制限したいと要望されました。そこで、[高度] ダイアログ ボックス ([ファイルから検索]) に、[最古の更新日] と [最新の更新日] オプションを追加しました。[最古の更新日] のみが設定されている場合、指定した日付より新しいファイルを検索します。[最新の更新日] のみが設定されている場合、指定した日付より古いファイルを検索します。どちらも設定されていない場合、ファイルの日付に関係なくすべてのファイルを検索します。
別のお客様は、フィルター結果が表示されている時、行毎に、(1個だけでなく) すべての一致した文字列を抽出できるように要望されました。そこで、[フィルター] ツール バーで [すべて抽出] ボタンをクリックした時に表示されるメニューに、[抽出オプション] を追加し、[すべての一致した文字列を抽出] オプションを選択したり、一致した文字列を区切って表示するための区切りを設定することができるようになりました。
またさらに別のお客様は、[一致する行の上/下に追加表示する行数] をマクロに記録する機能を要望されました。そこで、Document オブジェクトの Filter メソッドに 2個のパラメータを追加し、これらの数を指定できるようにしました。すでに、Filter メソッドを使用するマクロを持っている場合で、一致する行の上/下に行を追加表示させたい場合には、これらのパラメータに 0 以外の値を設定するか、-1 を指定して Filter メソッドがこれらの値を変更しないように指示する必要があります。
最後に、Pro版、Free版とも お気に入りいただけましたら幸いです。将来、ご質問、機能のリクエスト、アイディアなどがございましたら、ご連絡いただくか、フォーラムにご発言ください。
今後も EmEditor を引き続きご愛顧くださいますよう、よろしくお願い申し上げます。
— 江村豊
主な変更点、画面図など、詳しくは、「Version 21.8 の新機能」をご覧ください。
さらに本リリースは、v21.8 を開発中の不具合/問題の修正を含みます。
デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。winget を使用されている場合は、”winget install emeditor” とタイプして最新版の EmEditor のインストールが可能です (64ビットか32ビットは自動検出されます)。