EmEditor v23.1.3 を公開しました

本日、EmEditor v23.1.3 を公開しました。

v23.1.3 は、次の不具合修正を含みます。

  • v23.1.2 で、巨大ファイルの一部が保存されない可能性がある不具合を修正しました。

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

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

登録検証システムについての説明

新しいバージョンで導入された登録検証システムの技術的内容について、江村誠がブログで説明しました。

EmEditor v23.1.2 を公開しました

本日、EmEditor v23.1.2 を公開しました。

v23.1.2 は、次の不具合修正を含みます。

  • 様々な不具合を修正し安定性を向上しました。

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

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

EmEditor v23.1.1 を公開しました

本日、EmEditor v23.1.1 を公開しました。

v23.1.1 は、次の不具合修正を含みます。

  • 開いたファイルに不正な文字が含まれている場合に、クラッシュする可能性がある不具合を修正しました。
  • 選択範囲が無い状態で eeFindReplaceSelOnly フラグを使用して BatchReplace メソッドを使用すると予期しない動作になることがある不具合を修正しました。

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

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

本日、EmEditor v23.1.0 を公開しました。

前バージョンの v23.0 では、新機能の Web ブラウザとマクロを使用して、生成 AI の Webサイトにアクセスし、様々な情報やサービスを取得する方法を紹介しました。しかし、生成 AI のサイトの有料の API キーをお持ちのお客様は、API を直接呼ぶことにより、より高速に、より高いサービスを、より安定した動作で取得することができます。そのためには、JavaScript の fetch 関数を使用する方法が使われますが、この関数は非同期に動作するため、マクロが終了前に関数の戻り値が得られないことがありました。実は、v23.0 でも、EmEditor 内蔵の Web ブラウザを表示していれば、この方法も可能だったのですが、Web ブラウザが表示されていない場合は、非同期関数が使えない問題がありました。本バージョンの v23.1 では、KeepRunning プロパティを使用することにより、マクロを終了せずに、非同期関数の終了を待つことができるようになりました (Professional 版のみ)。非同期関数を呼ぶ前に、KeepRunning プロパティは、以下のように指定します。


shell.KeepRunning = true;

すると、マクロが実行されたままになり、非同期関数の戻り値を得ることができます。このままだと、いつまでもマクロが実行されたままになりますので、非同期関数の戻り値を得られて、マクロの実行を終了したい場合には、次のように指定します。


shell.KeepRunning = false;

これは、非同期関数の終了を待っている状態では、Quit() とほぼ同等で、マクロがすぐに終了します。

以下に、fetch 関数を利用して、ChatGPT の開発元である OpenAI が提供している OpenAI API を利用するサンプル マクロを示します。このサンプル マクロを実行するには、{your-API-key} をお客様の API キーに書き換える必要があります。以下のマクロを実行すると、OpenAI API に「お元気ですか?」と質問を送り、その回答をアウトプット バーに表示します。


#language="v8"

const apiKey = "{your-API-key}";

/**
 * Sends prompt to OpenAI and returns the response.
 * Docs: https://platform.openai.com/docs/guides/text-generation/chat-completions-api?lang=curl
 * @param {string} endpoint URL for request
 * @param {string} apiKey API key
 * @param {string} messageContent The prompt
 * @returns {string} The text content of the response
 */
async function callOpenAI(endpoint, apiKey, messageContent) {
    const response = await fetch(
        endpoint,
        {
            method: "POST",
            headers: {
                "Authorization": `Bearer ${apiKey}`,
                "content-type": "application/json",
            },
            body: JSON.stringify({
                "model": "gpt-3.5-turbo",
                "messages": [
                    {
                        "role": "user",
                        "content": messageContent,
                    }
                ],
            }),
        }
    );
    if (!response.ok) {
        alert(await response.text());
        Quit();
    }

    const responseObj = await response.json();
    if (responseObj.choices.length == 0) {
        alert("choices length is 0");
        Quit();
    }

    // Get content of first choice
    return responseObj.choices.pop().message.content;
}

async function main() {
    const endpoint = "https://api.openai.com/v1/chat/completions";
    const sPrompt = "お元気ですか?";
    shell.KeepRunning = true;
    const response = await callOpenAI(endpoint, apiKey, sPrompt);
    OutputBar.writeln( response );
    OutputBar.Visible = true;
    shell.KeepRunning = false;
}
main();

CharOpenAI.jsee マクロ例は、このサンプルをさらに発展させたもので、現在の選択テキストまたは文書全体に対して、よく使う質問の一覧 (「校正」、「要約」、「調べる」、「翻訳」など) をポップアップ メニューとして表示します。質問を選択すると、OpenAI API に質問を送り、その回答をアウトプット バーに表示します。

実は、本ブログも、CharOpenAI.jsee マクロを利用して、翻訳、校正を行いながら、執筆しています。生成 AI をテキストエディターと組み合わせて使用することにより、仕事の効率が上がることを実感できました。

v23.1 のもう 1つの主要な変更点は、巨大ファイルの処理速度の向上です。前バージョンの v23.0 では、変更行を一時ファイルではなくメモリに保存することで高速動作が実現しました。しかし、この方法ではメモリが少ないシステムでは逆に遅くなったり、メモリ不足でエラーが発生する可能性がありました。[カスタマイズ] ダイアログの [高度] ページで、[編集時、一時ファイルを使用する] オプションを設定することで従来と同じ動作に戻すことも可能でしたが、ファイルのサイズによって設定を切り替えるのは煩雑です。v23.1 では、メモリに関連するアルゴリズムを見直し、より効率的な動作を実現しました。さらに、仮想メモリが不足すると一時ファイルを使用してデータを保存するようにしました。これにより、仮想メモリのサイズに気を遣わずとも、メモリ不足によるクラッシュの頻度を大幅に軽減することができました。このメモリ関連の改善の効果と、マルチスレッド、SIMD 命令セットの使用により、CSV を含む巨大ファイルの編集時に多くのコマンドで、v23.0 に比べて 1.51 から 41.2 倍に高速化しました

ヘルプは、EmEditor 内蔵の Web ブラウザではなく、v22.5 以前のように外部のブラウザを使用して表示することを既定の動作としました。さらに、[カスタマイズ] ダイアログ ボックスに [ヘルプ] ページを追加して、ヘルプに関する設定を変更することができるようになりました。

江村誠は、言語サーバー プロトコル (LSP) を使用して入力候補一覧を表示できるようにしました (Professional 版のみ)。この機能を利用するためには、設定のプロパティでの [言語サーバー] ページで、言語サーバー プロトコルが有効になっていて、[入力候補一覧を表示する] オプションが設定されている必要があります。現在のところ、JavaScript のみが入力候補一覧に対応しています。

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

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

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

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

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

EmEditor Logo

EmEditor v23.1 プレビュー版

EmEditor v23.1 プレビュー版を一般のテスト用にリリースしています。EmEditor v23.1 は、CSV を含む巨大ファイルの編集時に多くのコマンドで大幅に高速化すると同時に、メモリ不足によるクラッシュを軽減しました。また プレビュー版には最近のバグ修正も含まれています。プレビュー版を試していただき、何か問題が発生した場合やフィードバックがあればお知らせください。

履歴については、EmEditor v23.1 preview (23.0.901-) をお読みください。

更新方法: インストーラー版をお使いの場合、自動的に最新のプレビュー版に更新するには、[ヘルプ] メニューの [更新チェッカーのカスタマイズ] を選択し、[プレビュー版を含める] を設定してください。また、プレビュー版は、以前のバージョンからもダウンロードしていただけます。

EmEditor v23.0.5 を公開しました

本日、EmEditor v23.0.5 を公開しました。

v23.0.5 は、次の不具合修正を含みます。

  • ステータス バーに [カーソル位置の文字コード] が有効の場合、CSVファイルを開くとクラッシュする可能性がある不具合を修正しました。
  • CSV構文チェックが実行中にスクロール バーのミニマップを表示するとクラッシュする可能性がある不具合を修正しました。
  • 複数選択が無効の場合、箱型選択中に [インデント] コマンドを実行するとクラッシュする可能性がある不具合を修正しました。
  • [コミット リスト] プラグインが Unicode パスでクラッシュする可能性がある不具合を修正しました。
  • 様々なヘルプの問題を修正しました (1)。

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

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

EmEditor v23.0.4 を公開しました

本日、EmEditor v23.0.4 を公開しました。

v23.0.4 は、次の不具合修正を含みます。

  • 新バージョンは、Webブラウザを非表示にすると完全に閉じるようになりました。
  • SSE4.2 をサポートしていない古い CPU (例えば、2006年にリリースされた Intel Core 2 Duo) で動作させる場合、クラッシュする問題を回避しました。このクラッシュは、Visual Studio v17.8 の不具合によるものです。
  • [マクロ] メニューの [キーワードを検索] コマンド (ヘルプ) の不具合を修正しました。
  • 複数セルを選択し、F2 または Enter を押し、タイプすると、すべてのセルの中身が同じ文字列になる不具合を修正しました。
  • CSV セル編集中に ESC を押してもセルがリセットされないことがある不具合を修正しました。
  • [列を結合] コマンドで特定のオプションを指定して実行するとクラッシュする可能性がある不具合を修正しました。
  • CSV 構文チェック中に [ファイルを分割] コマンドを実行するとクラッシュする可能性がある不具合を修正しました。
  • 言語サーバー プロトコルを使用してツール チップを表示時にクラッシュする可能性がある不具合を修正しました。

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

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

EmEditor Logo

既知の不具合と現在のステータス

本ページでは、現在のバージョンの重要な不具合とその修正ステータスについての情報をお知らせします。この情報は、頻繁に更新されます。

不具合はプレビュー版を含む最新版で修正されていることがあります。不具合だと思われる場合には、プレビュー版を含め最新版に更新してみてください。

Version 23.0.3

  • EmEditor は SSE4.2 をサポートしていない古い CPU で STATUS_ILLEGAL_INSTRUCTION でクラッシュすることがあります (例えば、2006年にリリースされた Intel Core 2 Duo)。このクラッシュは、Visual Studio v17.8 の不具合によるものです。この問題は最新版で回避されています。

Version 23.0.2

  • 設定のプロパティの [ファイル] ページで、[外部から変更された時] ドロップ ダウン リストに、[外部から書き込みを禁止する] が選択されていると、ワークスペースが保存できない、行の折り返しができない、アウトラインが表示できないなどの問題が発生することがあります。この問題は最新版で修正されています。

Version 23.0.1

  • 既定ではマクロが動作しなくなる可能性があります。この問題を解決するには、[マクロのカスタマイズ] ダイアログで、[既定でマクロを非同期に実行する] オプションをクリアするか、あるいは [JavaScript エンジンとして V8 を使用する] オプションを設定します。この問題は最新版で修正されています。

すべてのバージョン

  • v23.0.0 より、ローカル ヘルプの形式は単一の CHM ファイルから複数の HTML ファイルに変更されました。ローカル ヘルプは、Webブラウザの中に表示されます。URL がローカルのパスであれば、ローカル ヘルプを表示していることになります。
  • 巨大ファイルを扱うときに異常終了する場合、仮想メモリを増やすことで問題を回避できることがあります。仮想メモリを増やす方法をご参考にして、仮想メモリを増やしてお試しください。また、この問題は [カスタマイズ] ダイアログの [高度] ページで [スレッド数] を減らすことにより防げる可能性もあります。v23.0 以降では、[カスタマイズ] ダイアログの [高度] ページで [編集時、一時ファイルを使用する] オプションを設定することで防げる可能性もありますが、動作は遅くなります。
  • [半角/全角] キーを押すと、異常終了することがあります。これは、Windows の不具合です。Windows の更新で最新版になっているにもかかわらず、この問題が発生する場合、以前のバージョンの IME に戻してください。

EmEditor v23.0.3 を公開しました

本日、EmEditor v23.0.3 を公開しました。

v23.0.3 は、次の不具合修正を含みます。

  • 設定のプロパティの [ファイル] ページで、[外部から変更された時] ドロップ ダウン リストに、[外部から書き込みを禁止する] が選択されていると、ワークスペースが保存できない、行の折り返しができない、アウトラインが表示できないなどの問題が発生することがある不具合を修正しました。
  • 様々なクラッシュを修正しました。

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

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