EmEditor v24.1.0 发布(含技术评论)!

我们发布了 EmEditor v24.1.0

在版本 24.1 中,我们添加了对 Windows 11 资源管理器中的新上下文菜单的支持。与 Windows 10 及更早版本相比,Windows 11 的上下文菜单设计已进行了改进,因此需要对应用程序进行特殊处理才能支持此更改。EmEditor 现在与 Windows 11 上下文菜单兼容,使您可以直接选择用 EmEditor 编辑命令。此外,右键单击文件夹或资源管理器背景时,可以使用用 EmEditor 在文件中查找命令。要启用此功能,EmEditor 托盘图标必须显示在任务栏的通知区域中,并且此功能仅支持在 Windows 11 上运行的 EmEditor 桌面安装程序版本。只要满足这两个条件,EmEditor 专业版和 EmEditor 免费版都可以使用此功能。

添加了快捷方式到 Windows 11 上下文菜单中。

新的专业版(EmEditor Professional)添加的另一个重要改进是增强了人工智能(AI)。24.0 版本引入了使用 OpenAI API(以下简称“API”)的 AI 宏。版本 24.1 引入了 AI 辅助写作功能,可以预测并自动完成您接下来要输入的内容。 AI 自动完成可以减少打字工作并提高写作速度。我现在正在使用 EmEditor 撰写这篇文章,并亲身体验了 AI 辅助写作功能的便利性。

默认情况下,AI 功能处于禁用状态。要启用此功能,您需要在 EmEditor 中自定义对话框的 AI 页面上勾选启用 AI 选项,并同意允许 OpenAI 处理在 EmEditor 中打开的文档中的文本数据。请参阅 OpenAI 的隐私政策,如果您同意,请点击继续按钮。根据此隐私政策,发送到 API 的数据不会用于训练 OpenAI 的模型。

添加了 “AI” 页面到“自定义”对话框中。

接下来,在 OpenAI API 密钥文本框中输入您的 OpenAI API 密钥。如果您登录 OpenAI,您可以在此处获取您的 OpenAI API 密钥。建议将 API 密钥储存在“OPENAI_API_KEY”环境变量中,但如果您使用便携版本的 EmEditor 或者由于共享计算机而不想与其他应用程序共享密钥,您可以取消勾选使用 ‘OPENAI_API_KEY’ 环境变量选项并专门为 EmEditor 保存 API 密钥。默认情况下,gpt-4-turbo-preview 是首选模型。它提供比 gpt-3.5-turbo 更准确的建议。对于用英语之外的语言写作时,建议选择 gpt-4-turbo-preview。此外,要启用此功能,您必须在每个配置属性的常规页面上激活 AI 辅助写作选项。默认设置下,EmEditor 会在 TextMarkdownHTML 配置中启用此功能。

在配置属性的“常规”页面中添加了“AI 辅助写作”复选框。

启用此功能后,当您键入时,AI 将自动预测并建议下一个文本。 默认设置下,建议的文本显示为灰色,您可以通过按 TabEnd 键接受建议。如果您只想接受部分建议文本,请按向右键指定要接受的字符数,或按 Ctrl+向右键接受一个单词。 按 Delete 键将删除建议文本的第一个字符。按 Esc 键或其他键可取消建议。此外,如果您想在未显示建议文本时强制 AI 进行预测,或请求不同的建议,请按 Ctrl+空格键

添加了使用 OpenAI 完成单词或短语的功能。

仅在 EmEditor 中打开文件不会调用 API。当您开始输入字符时,EmEditor 才会开始调用 API。此外,要使用此功能,必须满足以下条件:

  • 运行 EmEditor Professional 的最新版本
  • 勾选了启用 AI 选项
  • AI 辅助写作选项已启用
  • 不在录制或运行宏
  • 只读选项已关闭
  • 未选取任何文本
  • 不在编辑非常大的文件
  • 不处于 CSV 模式
  • 不在比较文件
  • 正在编辑的文档处于活动状态
  • 已开始输入字符
  • 暂停输入(约 100 毫秒)
  • 尚未按 Esc 键取消建议
  • 没有用鼠标点击其他地方或执行另一个命令

如上所述,我们的目标是最大限度地减少 API 使用频率。然而,使用 API 仍然需要向 OpenAI 支付费用,以 token(代币)计算。每个建议消耗约 100 个代币用于输入,约 10 个代币用于输出。根据当前定价,使用默认的gpt-4-turbo-preview 模型消耗每个实例约 0.0013 美元。选择gpt-3-turbo可将成本显着降低至每个实例约 0.000065 美元。作为参考,使用同一家公司提供的 ChatGPT Plus 每月费用超过 20 美元,但如果您仅使用 EmEditor 的 API,则无需支付 ChatGPT Plus 的费用。将 AI 与 EmEditor 结合使用不太可能达到每月 20 美元,这使 EmEditor 成为更经济实惠的选择。使用在 v24.0 中引入的 AI 宏,您可以向 EmEditor 询问任何自由形式的问题,就像使用 ChatGPT Plus 一样,从而可以用 EmEditor 完全替代 ChatGPT Plus

此外,新版本还响应了客户的要求。

1. 在以前的版本中,高亮和排序命令中用于 IPv6 地址的十六进制字符仅识别小写。这是因为 RFC 5952 建议以小写形式书写 IPv6 地址。但是,根据客户反馈,IPv6 地址会混合大小写字母,我们现在也支持大写字母。

2. CommitList 插件得到了改进,添加了删除远程分支命令。

希望您喜欢 EmEditor,无论您使用的是 Professional 还是 Free。如果您有任何问题、功能请求或想法,请联系我们到论坛中留言

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

详细信息和截图,请参阅 EmEditor v24.1 新增特性

如果您使用的是桌面安装程序版,那您可以到帮助菜单下选择检查更新来下载最新版本。 如果此方法失败,请下载最新版本,并运行下载的安装程序。 如果您使用的是桌面便携版,则可以转到下载页面下载最新版本。商店应用版可以在几天后通过 Microsoft 商店更新( 64 位 / 32 位)。

EmEditor v24.0.1 发布!

今天,我们发布了 EmEditor v24.0.1。

v24.0.1 包括以下错误修复和改进。

  • 修复了导入和导出设置无意中将设备 ID 复制到另一台计算机的问题。
  • 修复了在未启用“单元格选择模式”的情况下选择单个列时不会复制右侧分隔符的错误。
  • 修复了以下错误:在 CSV 中选择并转换(例如,转换为大写命令)语法无效的列时,EmEditor 会转换整行的错误。
  • 修复了用户报告的问题(12)。

如果您使用的是桌面安装程序版,那您可以到帮助菜单下选择检查更新来下载最新版本。 如果此方法失败,请下载最新版本,并运行下载的安装程序。 如果您使用的是桌面便携版,则可以转到下载页面下载最新版本。商店应用版可以在几天后通过 Microsoft 商店更新( 64 位 / 32 位)。

感谢您使用 EmEditor!

EmEditor v24.0.0 发布(含技术评论)

今天,我们发布了EmEditor v24.0.0

在上一个版本 v23.1 中,我们介绍了如何通过调用OpenAI的 API 从宏中使用生成式 AI。通常,将文本用作调用生成式 AI 的参数,这表明文本编辑器与生成式 AI 之间存在高度的关联。在文本编辑器中编写文档时,使用生成式 AI 的目的之一是校对文档。在这种用例中,您希望轻松比较校对前后的文档,以便轻松决定保留或丢弃哪些更改部分的文本。在本版本中,我们在比较分割窗口中右键单击更改后的文本时添加了一个“复制到另一个”命令。选择此选项将更改部分复制到正在比较的另一篇文档中。如果您想一次性复制文档中的所有更改,请单击分割窗口标题部分新增的“全部复制到另一个”按钮。

比较完成后,您可能希望关闭不必要的文档,仅保留所需的文档。在这种情况下,您现在可以通过单击新增的[X(关闭)]按钮或按Ctrl+W或Ctrl+F4仅关闭当前活动窗格中的文档。

我们进一步开发了库的ChatOpenAI.jsee宏示例,并将其默认添加到 EmEditor 中名为AI.jsee的名称下。通过使用 AI 宏,您可以对所选文本或整个文档执行校对、摘要、翻译、生成图像或向 AI 提问。第一次运行此宏时,将提示您输入 OpenAI API 密钥。如果您已登录 OpenAI,则您可以在此处获取您的秘密 OpenAI API 密钥。为了将来跳过输入此密钥,请设置环境变量OPENAI_API_KEY

在本版本中,我们还回应了许多客户的请求。

1. Onigmo正则表达式现在支持\Q...\E语法。这种语法允许您在不需要转义的情况下禁用正则表达式元字符。例如,要搜索字符串[a.c],传统的正则表达式需要您使用反斜杠来转义元字符"[", ".", "]"\[a\.c\]。在新版本中,您只需编写\Q[a.c]\E,消除了转义元字符的需求。请注意,Boost的 Regex 已经支持\Q...\E语法已经有一段时间了。

2. 我们在查找下一个查找上一个命令中添加了一个选项,仅匹配不重叠的字符串。例如,如果在字符串“AAAAA”中搜索“AA”,最初只有前四个字符“AAAA”会被突出显示。当您执行查找下一个(F3)命令时,搜索位置每次移动一个字符,从而使您可以搜索所有“AA”对。通过在高级对话框中设置仅在查找下一个/上一个中查找非重叠字符串复选框,使命令操作的方式仅匹配不重叠的字符串,使最后的“A”未被搜索,从而使突出显示与搜索位置对齐。

3. 在 EmEditor 中,URI 和电子邮件地址会被突出显示,我们经常收到提取仅这些部分的请求。在以前的版本中,可以通过在查找对话框中指定合适的正则表达式并选择提取来实现此目的,但是很多客户不熟悉正则表达式。在本版本中,您可以通过指定选项在提取常见字符串命令中轻松提取仅 URI 或电子邮件地址。

4. 在 EmEditor 中打开 CSV 时,默认情况下会自动调整分隔符位置。然而,非常长的单元格可能导致列宽度变得非常宽,使得整个 CSV 难以查看。在本版本中,我们在自定义对话框的CSV 选项页面中添加了一个最大列宽文本框,允许您指定最大列宽度。

5. 在上一个版本中,当 EmEditor 中打开的文件被另一个应用程序删除时,EmEditor 开始显示警告消息。在本版中,您可以选择是否显示警告消息。可以在配置属性文件页面通过如果文件被删除则提示复选框进行指定。

6. 一些客户报告了在 Windows 11 的最新版本上 EmEditor 的启动时间较慢。这主要是由于启动时检索Windows 剪贴板历史记录。新版本默认情况下已禁用此选项,但可以在自定义对话框的剪贴板页面中启用。

7. 新版本默认禁用切换到不换行选项。

此外,在本版本中,我们显著优化了命令,例如拆分文件合并文件增加行缩进减少行缩进,相比 v23.1,速度提高了27到124倍,根据我们的测试

Makoto Emura 在他的博客上宣布的,从这个版本开始,在 EmEditor Professional 上使用超出 EULA(最终用户许可协议)允许的设备数量时,可能会出现警告消息。为了保持我们更低的许可费用,并确保已购买多个许可证的客户之间的公平性,请购买足够的许可证以遵守许可证条款。

卸载 EmEditor 会注销设备,从而允许您在不同设备上安装。您可以在这里查看您注册的设备。当 v24.0.0 发布时,我们已注销所有设备,因此旧设备将被注销。当您使用 EmEditor 时,设备将自动注册。

希望您喜欢使用EmEditor,无论您使用的是专业版还是免费版。如果您有任何问题、功能请求或未来任何想法,请联系我们在论坛上写下

感谢您使用 EmEditor!
Yutaka Emura

请查看 EmEditor v24.0 新功能以获取详细信息和截图。

如果您使用桌面安装版,您可以在帮助菜单中选择检查更新来下载最新版本。如果该方法失败,请下载最新版本,然后运行下载的安装程序。如果您使用桌面便携版,您可以前往下载页面下载最新版本。应用商店版本可以在数天后通过Microsoft Store更新(64位32位)。

EmEditor v23.1.3 发布!

我们发布了 EmEditor v23.1.3。

v23.1.3 包括以下错误修复和改进。

  • 修复了一个潜在问题,可能无法保存非常大文件的一部分。

详细信息和屏幕截图,请参阅 EmEditor v23.1 新增功能。

如果您使用的是桌面安装程序版,那您可以到帮助菜单下选择检查更新来下载最新版本。 如果此方法失败,请下载最新版本,并运行下载的安装程序。 如果您使用的是桌面便携版,则可以转到下载页面下载最新版本。商店应用版可以在几天后通过 Microsoft 商店更新( 64 位 / 32 位)。

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!