EmEditor v22.4.0 を公開しました (テクニカル レビューを含む)。

本日、EmEditor v22.4.0 を公開いたしました。

新バージョン (v22.4) では、低速ドライブまたはネットワーク ドライブから巨大ファイルを開くときの動作とステータス メッセージを改善しました。以前のバージョンは、高速ハード ドライブまたは SSD から巨大ファイルを開くために最適化されていました。ファイルの内容を読み取るために大きなサイズのメモリ ブロックが割り当てられ、そのメモリ ブロックの処理中は、ステータス バーまたは巨大ファイル コントローラ上に進捗状況を更新しませんでした。この方法は、高速ハード ドライブまたは SSD から巨大ファイルを読み取る場合にはうまく動作しますが、低速ドライブやネットワーク ドライブからファイルを読み込む場合には、プログラムがフリーズして応答していないように見えることがありました。新バージョン v22.4 では、ファイルを開いた時、まず最初の 1MB を読み取るのにかかる時間を測定します。そして、読み取り速度を推測して、ステータス バーと巨大ファイル コントローラーの進行状況を、何バイト毎に更新するべきかを推測します。この新しいアルゴリズムにより、EmEditor は、高速ドライブの高速読み取り速度を維持しながら、低速ドライブの進捗状況をより頻繁に表示できるようになりました。

v22.4 では [ファイルから検索] の動作速度を向上させ、[ファイルから検索] を中止するときの応答時間も改善しました。これは、最適化されたマルチスレッド コードを使用して全体の速度を向上させながら、検索中止の要求に応答するために、ファイル内を複数のゾーンに分けて検索することで可能になりました。私共のテストでは、[ファイル内検索] が v22.3 と比較して 2.76 倍高速になりました。v22.4 では、[列の削除] (CSV)、[値をクリア] (CSV)、[ランダムに並べ替え]、Base64 エンコード/デコードのコマンドなどのコマンドの速度も向上しています。[値をクリア] (CSV) コマンドは、CSV セル選択モードで CSV セルまたは列を選択しているときに Delete キーを押すと、実行されます。これは、CSV の編集でよく使う操作ですが、このような操作を高速化したことにより、皆様の生産性が向上することを願っています。[ランダムに並べ替え] コマンドは、高速擬似乱数生成器 (Xoshiro-cpp) を使用することにより、さらに高速化することができました。

あるお客様は、[検索] ダイアログ ボックスに検索文字列を入力している時、一致した文字列の強調表示を更新する機能を要求されました。本機能は他のエディターでも使用していたので、v22.4 でも追加することにしました。本機能は既定ではオフになっていますが、[検索] ドロップ ダウン リスト ボックスの横にある [>] ボタンをクリックすると表示されるメニューで [自動ハイライト] を選択すると有効にできます。このオプションがオンの場合、[検索]/[置換]/[ファイル内検索]/[ファイルから置換] ダイアログ ボックスまたは [検索] ツール バーを表示している間のみ、検索の強調表示がオンになります。本機能は EmEditor Professional および EmEditor Free で利用できます。

他の複数のお客様は、複数行のテキストを選択し、エディタ ウィンドウの下端を超えてマウスをドラッグする (マウスの左ボタンを押しながらマウスを動かす) ときの垂直スクロールの改善を求められていました。下にスクロールすることを望まれるユーザーと、文書の最下部までジャンプすることを望まれるユーザーがいました。また、一部のお客様は、例えば、300万行の文書の 100万行目から 200万行目までを選択したいといった場合のように、文書の中間の多数の行を選択することを望まれます。これらすべてのユーザーのご要望にお応えするために、v22.4 では、以下で説明するように、マウスをドラッグするときの新しいスクロール モードと、新しいマウス ポインタの形状が導入されました。

まず、v22.4 では、マウスをエディタ ウィンドウの端を越えてドラッグすると、マウス ポインタの形状が変わります。マウス ポインタをウィンドウの端から遠ざけるほど、スクロール速度は速くなります。さらに遠ざけると、スクロールはスクロール ボックス (サム) をドラッグしているかのように動作します。このモードでは、選択範囲の終点をドキュメント内の任意の位置に簡単に移動できます。既定では、このモードに入るとミニマップが表示されます。マウスの左ボタンを押したまま ESC キーを押すと、通常の選択モードに戻ります。この機能は EmEditor Professional および EmEditor Free で利用できます。

江村誠は、言語サーバー プロトコル (LSP) を使用した構文チェック機能を追加しました。この新機能は、JavaScript や他の言語でも利用できるため、JavaScript で記述されたマクロの構文もチェックできるようになりました。本機能は EmEditor Professional でのみ使用できます。

また、彼は、コミットをチェックアウトして新しいブランチを作成する機能を追加することで、CommitList プラグインも改良しました。本機能も EmEditor Professional でのみ使用できます。

さらに、ランダムな文書とパラメータを使用して EmEditor の機能をテストするための新しいテスト スクリプトを作成し、[列の分割] コマンドなどで、既にいくつかのバグを発見しています。このようにして未知のバグを探して修正しています。

以前「ベータ」と呼ばれていたバージョンは、これからは「プレビュー」バージョンと呼ぶことにしました。これは、「ベータ」と聞くと不安定だと思われる方が多いためですが、継続的にバグを修正しているため、実際には、正式版よりもベータ版の方が安定していることが多いのです。また、より多くのユーザーに新バージョンの新機能を試していただきたいため、新バージョンは「ベータ」ではなく「プレビュー」と呼ぶべきであると考えました。できれば「プレビュー」バージョンを含めて常に最新版に更新してお使いになることを推奨いたします。

Pro版、Free版とも お気に入りいただけましたら幸いです。将来、ご質問、機能のリクエスト、アイディアなどがございましたら、ご連絡いただくか、フォーラムにご発言ください。

今後も EmEditor を引き続きご愛顧くださいますよう、よろしくお願い申し上げます。
— 江村豊

主な変更点、画面図など、詳しくは、「Version 22.4 の新機能」をご覧ください。

さらに本リリースは、v22.4 を開発中の不具合/問題の修正を含みます

デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。winget を使用されている場合は、”winget install Emurasoft.EmEditor” とタイプして最新版の EmEditor のインストールが可能です (64ビットか32ビットは自動検出されます)。