EmEditor v23.1.2 發布!

我們發布了 EmEditor v23.1.2。

v23.1.2 包括以下錯誤修復和改進。

  • 修復了各種問題并提高了穩定性。

詳細信息和屏幕截圖,請參閱 EmEditor v23.1 新增功能。

如果您使用的是桌面安裝程式版,那您可以到說明功能表下選擇檢查更新來下載最新版本。 如果此方法失敗,請下載最新版本,並運行下載的安裝程式。 如果您使用的是桌面可攜式版,則可以轉到下載頁面下載最新版本。市集應用版可以在幾天後通過 Microsoft 市集更新( 64 位 / 32 位)。

EmEditor v23.1.1 發布!

我們發布了 EmEditor v23.1.1。

v23.1.1 包括以下錯誤修復和改進。

  • 修復了打開的檔案包含無效字元時可能發生崩潰的問題。
  • 修復了在不存在選區的情況下使用帶有 eeFindReplaceSelOnly 旗標的 BatchReplace 方法時出現的意外行為。

此版本還包括開發 v23.1 時的所有錯誤修復

詳細信息和屏幕截圖,請參閱 EmEditor v23.1 新增功能。

如果您使用的是桌面安裝程式版,那您可以到說明功能表下選擇檢查更新來下載最新版本。 如果此方法失敗,請下載最新版本,並運行下載的安裝程式。 如果您使用的是桌面可攜式版,則可以轉到下載頁面下載最新版本。市集應用版可以在幾天後通過 Microsoft 市集更新( 64 位 / 32 位)。

EmEditor v23.1.0 發布(含技術評論)!

我們發布了 EmEditor v23.1.0

在之前的 v23.0 版本中,我們介紹了如何使用新的網頁瀏覽器和巨集來訪問生成式 AI 的網頁並獲取各種信息和服務。然而,那些有生成式 AI 站點的付費 API 金鑰的使用者可以通過直接調用 API 來獲得更快、更高質量、運行更穩定的服務。為此,我們使用了 JavaScript 中的fetch函數,但由於該函數是異步操作的,因此在巨集結束之前可能無法獲取到函數的返回值。實際上,即使在 v23.0 中,如果顯示了 EmEditor 內置的網頁瀏覽器,也可以使用此方法,但存在如果不顯示網頁瀏覽器則無法使用異步函數(async)的問題。在新版本 v23.1 中,通過使用 KeepRunning 屬性,現在可以等待異步函數完成而不結束巨集(僅限 EmEditor Professional)。 在調用異步函數之前,請指定 KeepRunning 屬性,如下所示。


shell.KeepRunning = true;

這使巨集保持運行,讓您能獲取異步函數的返回值。要在獲得異步函數的返回值後結束巨集,可以指定如下:


shell.KeepRunning = false;

這相當於等待異步函數完成時的 Quit(),會立即結束巨集。下面是一個巨集的範例,其中使用 fetch 函數來利用 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 = "How are you?";
shell.KeepRunning = true;
const response = await callOpenAI(endpoint, apiKey, sPrompt);
OutputBar.writeln( response );
OutputBar.Visible = true;
shell.KeepRunning = false;
}
main();

CharOpenAI.jsee 巨集範例進一步延伸了如何運用 OpenAI API。 這個巨集能通過顯示一個快顯功能表,讓使用者對所選文字或整個文檔提出一系列的常用問題(例如,「校對」、「總結」、「尋找」、「翻譯」…)。選擇要提問的問題後,EmEditor 會將問題發送到 OpenAI API 並在匯出欄中顯示答案。

實際上,我在撰寫此文章時使用了 CharOpenAI.jsee 巨集進行翻譯和校對。通過將生成式人工智能與文字編輯器相結合,我已經能夠顯著提高我的工作效率。

v23.1 的另一個主要變化是在處理大檔案時的速度提高。在 v23.0 中,行的變更是存儲在記憶體中,而不是臨時檔案中,以便更快地運行。但是,在記憶體有限的系統中,這可能會由於系統記憶體不足而導致速度緩慢甚至崩潰。在 v23.1 中,對記憶體相關算法進行了修改,以更高效地運行。此外,當虛擬記憶體不足時,EmEditor 可以使用臨時檔案來存儲數據。使用者不再需要擔心虛擬記憶體的大小,並且因記憶體不足而導致崩潰的頻率也顯著降低。另外,我們改進了與記憶體相關的程式碼,並且使用了多執行緒SIMD 指令集。這使得在編輯大檔案(包括 CSV 檔案)時,v23.1 的速度比 v23.0 提高了 1.51 至 41.2 倍

說明功能現在預設使用外部瀏覽器,而不是 EmEditor 的內置網頁瀏覽器,類似於 v22.5 及更早版本。此外,在自訂對話方塊中添加了說明頁面,讓您能變更與說明相關的設定。

最後,Makoto Emura 添加了完成清單功能。要使用此功能,必須在組態屬性的語言伺服器頁面中啟用語言伺服器協議,並且還必須啟用顯示完成清單選項(僅限 EmEditor Professional)。目前,只有 JavaScript 支持此功能。

希望您喜歡 EmEditor,無論您使用的是 Professional 還是 Free。如果您有任何問題、功能請求或想法,請聯繫我們到論壇中留言

感謝您使用 EmEditor!br> — Yutaka Emura

詳細信息和截圖,請參閱 EmEditor v23.1 新增功能

此發布還包括了 在開發 v23.1 時的 bug 修復

如果您使用的是桌面安裝程式版,那您可以到說明功能表下選擇檢查更新來下載最新版本。 如果此方法失敗,請下載最新版本,並運行下載的安裝程式。 如果您使用的是桌面可攜式版,則可以轉到下載頁面下載最新版本。市集應用版可以在幾天後通過 Microsoft 市集更新( 64 位 / 32 位)。

EmEditor v23.0.5 發布!

我們發布了 EmEditor v23.0.5。

今天,我們發布了 EmEditor v23.0.5。

v23.0.5 包括以下錯誤修復和改進。

  • 修復了在狀態列上顯示「游標處的字元程式碼」時打開 CSV 檔案可能發生的崩潰的問題。
  • 修復了在運行 CSV 驗證時在捲軸上顯示小地圖時可能發生崩潰的問題。
  • 修復了在垂直選擇模式下停用多選區編輯時縮排命令可能發生崩潰的問題。
  • 修復了 CommitList 外掛程式上使用 Unicode 路徑可能發生崩潰的問題。
  • 修復了說明上的各種問題 (1)。

詳細信息和屏幕截圖,請參閱 EmEditor v23.0 新增功能。

如果您使用的是桌面安裝程式版,那您可以到說明功能表下選擇檢查更新來下載最新版本。 如果此方法失敗,請下載最新版本,並運行下載的安裝程式。 如果您使用的是桌面可攜式版,則可以轉到下載頁面下載最新版本。市集應用版可以在幾天後通過 Microsoft 市集更新( 64 位 / 32 位)。

感謝您使用 EmEditor!

EmEditor v23.0.4 發布!

我們發布了 EmEditor v23.0.4。

今天,我們發布了 EmEditor v23.0.4。

v23.0.4 包括以下錯誤修復和改進。

  • 新版本在隱藏網頁瀏覽器時完全關閉它。
  • 解決了在不支援 SSE4.2 的舊 CPU 上運行時發生崩潰的問題(例如 2006 年發布的 Intel Core 2 Duo)。該崩潰是由於 Visual Studio v17.8 中的錯誤造成的。
  • 修復了巨集功能表中的尋找關鍵字(說明)命令。
  • 修復了選擇多個儲存格、按 F2 或 Enter 鍵並鍵入會將儲存格內容變更為同一字串的問題。
  • 修復了在 CSV 儲存格編輯模式下按 ESC 並不總是重設儲存格的問題。
  • 修復了使用某些選項時「合併列」命令可能發生崩潰的問題。
  • 修復了在 CSV 語法檢查期間運行「分割檔案」命令時可能出現的崩潰問題。
  • 修復了使用語言伺服器協議顯示停留工具提示時可能發生的崩潰。

詳細信息和屏幕截圖,請參閱 EmEditor v23.0 新增功能。

如果您使用的是桌面安裝程式版,那您可以到說明功能表下選擇檢查更新來下載最新版本。 如果此方法失敗,請下載最新版本,並運行下載的安裝程式。 如果您使用的是桌面可攜式版,則可以轉到下載頁面下載最新版本。市集應用版可以在幾天後通過 Microsoft 市集更新( 64 位 / 32 位)。

感謝您使用 EmEditor!

EmEditor v23.0.3 發布!

我們發布了 EmEditor v23.0.3。

今天,我們發布了 EmEditor v23.0.3。

v23.0.3 包括以下錯誤修復和改進。

  • 修復了以下問題:如果從組態屬性的「檔案」頁面的「被其他程式變更時」下拉清單中選擇「保持鎖定」,EmEditor 可能無法儲存工作區、換行或顯示大綱。
  • 修復了各種崩潰問題。

詳細信息和屏幕截圖,請參閱 EmEditor v23.0 新增功能。

如果您使用的是桌面安裝程式版,那您可以到說明功能表下選擇檢查更新來下載最新版本。 如果此方法失敗,請下載最新版本,並運行下載的安裝程式。 如果您使用的是桌面可攜式版,則可以轉到下載頁面下載最新版本。市集應用版可以在幾天後通過 Microsoft 市集更新( 64 位 / 32 位)。

感謝您使用 EmEditor!

EmEditor v23.0.2 發布!

我們發布了 EmEditor v23.0.2。

今天,我們發布了 EmEditor v23.0.2。

v23.0.2 包括以下錯誤修復和改進。

  • 修復了巨集可能無法在預設設定下運行的錯誤。 即使存在多個群組視窗,新版本也限制一個網頁瀏覽器。

詳細信息和屏幕截圖,請參閱 EmEditor v23.0 新增功能。

如果您使用的是桌面安裝程式版,那您可以到說明功能表下選擇檢查更新來下載最新版本。 如果此方法失敗,請下載最新版本,並運行下載的安裝程式。 如果您使用的是桌面可攜式版,則可以轉到下載頁面下載最新版本。市集應用版可以在幾天後通過 Microsoft 市集更新( 64 位 / 32 位)。

感謝您使用 EmEditor!

EmEditor v23.0.1 發布!

我們發布了 EmEditor v23.0.1。

v23.0.1 包括下列 bug 修復:

  • 修復了以特定檔案編碼(例如阿拉伯語或 US-ASCII)打開檔案時 EmEditor 可能崩潰的錯誤。
  • 修復了在多個群組視窗中顯示網瀏覽器欄時 EmEditor 可能崩潰的錯誤。

詳細信息和屏幕截圖,請參閱 EmEditor v23.0 新增功能

如果您使用的是桌面安裝程式版,那您可以到說明功能表下選擇檢查更新來下載最新版本。 如果此方法失敗,請下載最新版本,並運行下載的安裝程式。 如果您使用的是桌面可攜式版,則可以轉到下載頁面下載最新版本。市集應用版可以在幾天後通過 Microsoft 市集更新( 64 位 / 32 位)。

EmEditor v23.0.0 發布(含技術評論)!

我們發布了 EmEditor v22.3.0

雖然按照慣例,該版本應命名為 v22.6,但由於進行了大量變更,並且是一次真正的重大更新,同時也是今年最後一次的重大更新,我們決定與 2023 年的最後兩位數字保持一致,並將其命名為 v23.0。

生成式 AI 的最新進展(包括 ChatGPT)使人們能夠通過網絡瀏覽器使用各種信息和服務。 EmEditor 使用者越來越需要直接在 EmEditor 內使用這些 Web 服務,從而無需使用外部瀏覽器。在新版本中,我們添加了在 EmEditor 的自訂欄中顯示網頁瀏覽器的功能。該瀏覽器設計為與巨集結合使用,讓使用者能將編輯器中的文檔的一部分發送到網頁瀏覽器所顯示的站點中,反之亦然。要利用這些功能,請確保在自訂巨集對話方塊的選項頁面中勾選使用 V8 作為 JavaScript 引擎核取方塊,或在每個巨集的開頭行添加以下內容:


#language = "V8"

添加了兩個具體功能:

(1) web. 關鍵字:要訪問 HTML 的文檔對象模型 (DOM),請使用小寫的 web. 關鍵字。這種區別對於區分 EmEditor 中的對象和網頁瀏覽器中的對象是必要的。 例如,在巨集中:


document.write( "Test" );

目前尚不清楚 “Test” 是否應顯示在 EmEditor 的編輯器視圖中或網頁瀏覽器的 HTML 中。要在 Web 瀏覽器中顯示 “Test” ,請添加 web. 前綴:


// Displays "Test" in Web Browser
web.document.write( "Test" );

使用此語法,以 web. 開頭的關鍵字將被解釋為在網頁瀏覽器中執行的指令,從而允許訪問 DOM。 範例包括:


// Returns the URL of the current web page.
alert( web.location.href );

// Returns the preferred language of the browser.
alert( web.navigator.language );

// Pastes the text of the current web page into a new document.
editor.NewFile();
write( web.document.documentElement.innerText );

// Pastes the HTML of the current web page into a new document.
editor.NewFile();
write( web.document.documentElement.outerHTML );

(2) onLoad 事件:如果最後執行的巨集包含以 onLoad() 開頭的函數,則僅在網頁更新或加載新頁面時調用一次。此功能允許執行諸如在搜索網站上檢索搜索結果之類的任務。 例如:


function onLoad() {
    // Retrieves the HTML of the page and pastes it into a new document.
    editor.NewFile();
    document.write( web.document.documentElement.outerHTML );  
}

Bing.jsee 巨集範例 演示如何從 HTML 搜索結果中檢索和顯示特定信息。請註意,某些搜索網站(例如 ChatGPT 的免費版本)可能不會觸發頁面更新或新頁面加載。在這種情況下,不會發生 onLoad() 事件,從而阻止使用此事件檢索搜索結果。盡管如此,Makoto Emura 提出了一個想法,使用 MutationObserver 接口並在發生變化時檢索文字。ChatGPT.jsee 巨集範例演示了如何使用此接口從 ChatGPT 檢索響應。如果按原樣運行此巨集,則所選文字只會輸入到 ChatGPT 提示方塊中。但是,如果取消第 99 至 100 行的註釋,該巨集會發送文字。免責聲明:Bing 和 ChatGPT 響應的格式將來可能隨時變更,從而可能影響這些巨集的功能。這些巨集僅用於演示 EmEditor v23.0 的新功能。我們不保證這些巨集將來會持續起作用。

v23.0 的另一個重大變化是對於處理大檔案的優化。EmEditor 使用者經常處理非常大的 CSV 檔案,有時甚至達到好幾千兆位元組。為了確保處理此類大檔案時性能的流暢性,我們對刪除、插入、合併、排序和貼上欄等操作進行了廣泛的測試。這些命令通過多執行緒和其他優化技術進行了優化,讓EmEditor v23.0 與 v22.5 相比,速度提高約 21 到 34 倍

CSV 轉換器中,之前的版本缺乏多執行緒程式碼,導致處理大檔案時性能緩慢。新版本通過使用多執行緒和 SIMD 程式碼改進了這一點,即使是數千兆位元組的 CSV 檔案,格式轉換也可以在幾秒鐘內完成。

對於日語 (JIS) 和日語 (EUC),v23.0 放棄使用傳統的 Windows API 對象 MultiLanguage,轉而使用自訂尋找表。這一變化增強了對無效字元的檢測邏輯,並顯著提高了檔案打開和搜索等操作的速度。

在 v22.5 中,單擊行號的左邊緣可切換書籤。根據使用者反饋,在自訂對話方塊的滑鼠頁面中添加了停用此功能的選項。

Markdown 組態已得到改進,通過添加到特殊語法,可以更準確地體現強調格式,例如粗體和斜體。

使用語言伺服器協議,Makoto Emura 添加了一項功能來格式化所選字串或整個文檔。此命令可通過轉換功能表的格式化訪問(快速鍵:Ctrl+K、F),消除了不一致的情況;例如,開頭 Tab或空格的數量以及括號 () 或 {} 周圍空格的位置和存在,以提高可讀性。使用者可以選擇要格式化的程式碼,如果未進行選擇,則會出現一個對話方塊提示是否格式化整個文檔。或者您可以按快速鍵 Ctrl+K、D 來格式化整個文檔。要啟用格式化命令,必須在自訂對話方塊的語言伺服器頁面上啟用語言伺服器協議選項,並且必須從文檔類型下拉清單中選擇所需格式化的語言。請註意,格式化的偏好(例如括號周圍是否存在空格)取決於語言伺服器,無法在 EmEditor 中自訂。

從該版本開始,語言伺服器協議正式支持 C++CSSHTMLJavaScript用於 EmEditor 的 JavaScriptPerlPython 組態。使用者可以隨時在自訂對話方塊的語言伺服器頁面的設定中停用此功能。

Makoto 通過添加一個更新子模塊選項來將變更拉到子模塊中,從而增強了 CommitList (Git) 外掛程式。 他還從 CommitList 側欄中的暫存檔案清單(不是未暫存的檔案)中刪除了復原變更功能表項,以避免對預期行為產生混淆。

最後,由於傳統的說明系統使用了過時的設計並且難以維護,從這個版本開始,我們用 Sphinx 對說明進行了重新設計。新的說明系統是在我們的 GitHub 頁面上維護和構建的。

我希望您喜歡 EmEditor,無論您使用的是專業版還是免費版。如果您有任何問題、功能請求或想法,請聯繫我們在論壇中留言

感謝您使用 EmEditor!
Yutaka Emura

詳細信息和屏幕截圖,請參閱 EmEditor v23.0 新增功能

此發布還包括了開發 v23.0 時的所有錯誤修復.

如果您使用的是桌面安裝程式版,那您可以到說明功能表下選擇檢查更新來下載最新版本。 如果此方法失敗,請下載最新版本,並運行下載的安裝程式。 如果您使用的是桌面可攜式版,則可以轉到下載頁面下載最新版本。市集應用版可以在幾天後通過 Microsoft 市集更新( 64 位 / 32 位)。如果您使用 winget,您可以輸入 “winget install emeditor” 來安裝最新版本的 EmEditor(自動檢測 64 位或 32 位)。

韓國 CIO (IDG) 首爾采訪文章發表!

專訪 | 你知道快速、大容量的編輯器 EmEditor 嗎?··· CEO Yutaka Emura,擁有 40 年經驗的軟體開發者(Google 翻譯)

原文:인터뷰 | 빠른 대용량 편집기 ‘엠에디터’를 아시나요? ··· 40년 경력의 개발자 에무라 유타카 대표