EUX文本/源码编辑器

联合创作 · 2023-09-30 15:46

EUX就是以前的EditUltra,为辨识度而改名

1. 引子

你正在寻找一款类似UltraEdit强大但免费的文本/源码文件编辑器吗?

你想要一个秒开的开发环境吗?

你还在挑选免费、好用的数据库/Redis图形客户端吗?

向您推荐EUX=文本/源码文件编辑器+数据库客户端+Redis客户端。

2. 概述

2.1. EUX是什么?

EUX是中国人开发开源的性能卓越的文本/源码文件(内嵌数据库客户端功能和Redis客户端功能),她基于开源的富文本编辑控件Scintilla,自研大量功能,构建出一套完整的文本/源码文件编辑软件,覆盖日常生活工作和源代码编写基本功能,此外EUX还能直接提交文本文件里的SQL发给数据库,直接提交Redis命令给Redis服务端。整个软件只有10MB(不包含数据库客户端库),小巧但文本编辑功能完整,且性能卓越,几乎秒开文件,不像VS或VSCODE总是慢半拍。

EUX为追求极致的性能体验和极小的系统资源占用,完全使用C纯WIN32 API编写而成(v1.0.0.3大约有近2万行代码),又加入了众多优化算法和数据结构,在低端硬件配置上也能飞起。

EUX是开源的,任何人都能在其源码托管站点上审阅、下载和学习全部源代码;EUX是免费的,任何人无需付费就能使用到全部软件功能;EUX是国产软件,如果你有问题反馈或需求提议,可以通过源码托管站点提issue或写电子邮件直接用中文与作者联系沟通。

images/EUX_hello.png

2.2. 功能列表

(包含但不限于)

  • 多文件选项卡;
  • WINDOWS资源管理器右键菜单打开文件、目录中所有文件、展开定位到目录树框,还支持目录/文件的创建、改名、删除等;
  • 通过SFTP协议远程打开文件,还支持远程目录/文件的创建、改名、删除等;
  • 检测文件变动实时重载;
  • 文件打开期间自动设置为只读;
  • 文件换行符和字符编码转换;
  • 高级的切剪、复制和粘贴;
  • 查找和替换、一键列出包含关键字行列表(就像grep XXX a.c一样)、自动打开文件所在目录中其他拥有搜索字符串的未打开的文件(就像grep XXX *.*一样);
  • 一键快速选择单词、行;
  • 高级移动;
  • 高级的累积选择、多位置同步操作、多文本块选择、列选择;
  • 选定文本后自动高亮上下文中相同文本;
  • BASE64编解码、散列摘要计算和加解密;
  • 书签;
  • 导航;
  • 白字符显示;
  • 编程语言语法高亮、自动完成和方法浮动提示,语句块折叠展开;
  • 多字体颜色主题方案支持;
  • 连接数据库,获取表、字段列表,单行或批量执行SQL,显示查询结果到表格控件中;输入时自动弹出当前库的表、字段列表、SQL语法提示;目前支持OracleMySQLPostgreSQLSqlite3
  • 连接Redis,单行或批量执行命令,显示查询结果到树控件中;输入时自动弹出Redis命令语法提示;
  • 打开JSON/XML文件后解析结构到右边树控件中,按需手动刷新解析;
  • 配置执行对文件、选择文本的命令;

2.3. 特色功能图示

不仅可以在WIDNOWS资源管理器里右键打开文件或打开目录中所有文件,还能定位目录到软件内置目录文件树中,方便后续在软件直接管理目录/文件 images/EUX_locateforder_in_filetree.png images/EUX_locateforder_in_filetree_2.png

在软件里的目录/文件中直接打开、管理本地/远程文件 images/EUX_filetree_popupmenu.png images/EUX_remotefiletree_popupmenu.png

选择文本,按Ctrl+Shift+F3自动列出包含该文本的行列表(就像grep XXX a.c一样),双击列表定位到原文件中 images/EUX_search_grep.png

查找文本时选择"文件所在目录中已支持类型的文件",按"查找下一个",自动搜索当前文件所在目录中包含搜索字符串的其他未打开文件,打开之(就像grep XXX *.*一样) images/EUX_search_grep2.png

按Ctrl+W自动选择光标所在整个单词;按Ctrl+L自动选择当前行 images/EUX_select_word.png images/EUX_select_line.png

按Ctrl+鼠标左击可以选择非相邻多段文本,然后Ctrl+C拼接复制 images/EUX_multiselect.png

按Ctrl+鼠标左击可以生成多个同时操作位置点,后续可以多点同时键入、删除等操作 images/EUX_syncoper.png

无需切换模式,按Alt+鼠标左键拖动即可直接列选择 images/EUX_columnselect.png

选定某文本后,上下文中相同文本自动高亮 images/EUX_indicator_highlight.png

显示空格、制表符、换行等白字符 images/EUX_view_whitespace_visiable.png

键入源代码时自动弹出完成列表和函数/方法语法提示(预配置信息有待继续完善) images/EUX_autocompleted.png images/EUX_calltip.png

打开.sql文件,根据文件头配置自动连接上数据库,右侧树控件中自动列出所有能访问的表、以及表字段清单,选择SQL按F5直接提交数据库执行,查询结果集回显在最下方表格控件中,还可以按Ctrl+F5自动选择光标所在完整SQL语句并执行,还可以全选批量依次执行文本文件中所有SQL;输入SQL时支持自动弹出SQL关键词、当前库的表名、字段名自动完成框、语法提示 images/EUX_database_client.png

打开.redis文件,根据文件头配置自动连接上Redis服务端,选择Redis命令按F5直接提交执行,查询结果集回显在右方树控件中,还可以按Ctrl+F5自动选择光标所在完整Redis命令语句并执行,还可以全选批量依次执行文本文件中所有Redis命令;输入Redis时支持自动弹出Redis关键词自动完成框、语法提示 images/EUX_redis_client.png

打开JSON、XML文件时,右侧树控件中自动显示解析出来的文档结构,双击右侧文档结构某元素,左侧自动定位到该标记开始处 images/EUX_filetype_json_parsetree.png images/EUX_filetype_xml_parsetree.png

3. 开发历程

作为一名IT人,总喜欢写些东西,无论是源代码还是文章,从Linux C开发,到写博客,从分析爬虫HTML,到存放SQL命令,从字符编码检测,到建立个人技术知识库,都离不开一款轻便的文本编辑器伴我左右。我认为一款好的文本/源码编辑器,必须要—————快,如果启动要花2秒以上基本可以弃用了,人脑怎么能等电脑呢。

从大学毕业以来尝试过很多文本编辑器,UltraEdit是我使用比较长的一款软件,最新版本的UltraEdit带来了很多新功能,但是知名品牌“烈火”却迟迟搞不定Hack,我想,从事软件开发积累多年经验的我难道就不能自己写一个吗,需要什么功能就自己加(真香?),并以开放源代码方式发布,于是拾起大学时代的VC撸起袖子直接开干,先取个名字,就叫EUX吧。

一开始以为基于开源的富文本编辑控件Scintilla可以让我的开发工作神速推进,但阅读完其网上贫瘠的中文资料和官网上也不算丰富的英文文档后,才发现它真的只能当作VC工具箱里的一个稍微高级点的控件而已,大量功能都得自己撸,像多文件选项卡的控制(WINDOWS TABS控件不提供鼠标调整位置,自己增强呗)、远程文件直接打开和保存(Linux C开发必需)、自动完成列表的内容管理(Scintilla只提供了调用者给定列表、弹出和关闭接口,而不负责列表的筛选、管理等,如果不精心设计数据结构和算法,反馈体验会很慢)。

软件开发离不开和数据库等打交道,那么发挥一下想象力(好的软件需要想象力),文本编辑器内嵌客户端SDK连接数据库不就能直接执行SQL了吗,避免了大量复制粘贴到数据库客户端软件里的人工操作,而且这年头数据库客户端软件还不便宜,很多看似免费也只是纯个人开发免费,企业/公司中开发还是要买许可,那么既然客户端SDK是免费的,就差一个用户界面把她包装一下了。

经过两个半月,每天晚上写两个小时(周末也是,白天陪全家出去玩等同于上班),一路斩荆披棘,小步迭代而来,终于从v0.0.0.1到v0.0.43.0,很快跳到v1.1.0.0发布了,还请各位看官多多支持和使用,有问题提issue或发邮件给我,我也将努力保持后续的继续迭代,毕竟现在只实现了基本功能,很多低频功能有待于补上。

4. 安装

4.1. 绿色安装

下载、解压绿色包

目前,EUX只提供WINDOWS x64位绿色版,免费下载和使用。

EUX版本号格式为:(主版本号).(兼容版本号).(功能版本号).(补丁版本号)

EUX安装包文件名格式为:("EUX")-(版本号/最新版"latest")-("x86"/"x64")-(绿色版"noinstall"/安装版"install")-(完整包"full"/更新包"update-based-z.y.x.x"配置文件兼容版本z.y.x.x)

从以下网址可以查询最新版本更新信息:

http://114.215.179.129/EUX/ChangeLog-CN

从以下网址可以下载到最新版本:

包含可执行文件和初始配置文件的64位绿色包完整版

http://114.215.179.129/EUX/EUX-x64-latest-noinstall-full.zip

只包含可执行文件、不包含配置文件的64位绿色包补丁版

http://114.215.179.129/EUX/EUX-x64-latest-noinstall-update-based-v1.1.x.x.zip

包含可执行文件和初始配置文件的32位绿色包完整版

http://114.215.179.129/EUX/EUX-x86-latest-noinstall-full.zip

只包含可执行文件、不包含配置文件的32位绿色包补丁版

http://114.215.179.129/EUX/EUX-x86-latest-noinstall-update-based-v1.1.x.x.zip

同时,所有类型、历史版本在这里

http://114.215.179.129/EUX/

第一次下载完整版,以后下载更新版(防止修改后的配置文件被覆盖),把她放到软件目录中,我一般会放到专门放绿色软件的目录里

D:\Program Files\EUX-x64-latest-noinstall-full.zip

把里面所有文件解压出来,解压出来只有10MB

D:\Program Files\EUX\

运行主程序

直接运行里面的EUX.exe即可启动。

注意:

  • 如需内嵌Oracle客户端功能,须自行安装Oracle,并将WINDOWS环境变量PATH中加入oci.dll的所在路径。
  • 如需内嵌MySQL客户端功能,须自行安装MySQL,并将WINDOWS环境变量PATH中加入libmysql.dll的所在路径。
  • 如需内嵌PostgreSQL客户端功能,须自行安装PostgreSQL,并将WINDOWS环境变量PATH中加入libpq.dll的所在路径。

注册WINDOWS右键文件/目录弹出菜单项

如果需要在WINDOWS资源管理器中右键菜单增加“打开文件”功能,执行菜单环境->文件右键弹出菜单

images/EUX_file_popupmenu.png

注册成功后就能在WINDOWS里右键打开文件了。

images/EUX_explorer_openfile.png

如果需要在WINDOWS资源管理器中右键菜单增加“打开目录中所有文件”功能,执行菜单环境->目录右键弹出菜单

images/EUX_directory_popupmenu.png

注册成功后就能在WINDOWS里右键打开目录中所有文件了。

images/EUX_explorer_opendirectory.png

WINDOWS10操作系统可能会遇到“没有管理员权限”报错,解决方案是右键“以管理员身份运行”EUX.exe,再执行以上菜单即可。

...

5.9. 启动速度评测

CPU : i5-7500 3.4GHz 内存 : 16GB 操作系统 : WINDOWS 10 测试说明 : 操作系统启动后,右键测试文本文件弹出菜单中选择打开约28KB大小的文件。

- 首次启动耗时 非首次启动耗时
EUX 2秒 0.5秒
UltraEdit 5秒 1秒
VSCode 8秒 2秒

6. 最后

EUX,中国人开发开源的小巧快速又功能丰富的文本/源码编辑器(内嵌数据库客户端、Redis客户端)。

images/EUX_hello.png

欢迎使用EUX,如果你使用中碰到了问题请提issue或发邮件告诉我,也欢迎帮忙补充自动完成列表、函数/方法语法提示、制作更好的颜色主题给我,谢谢 ^_^

源码托管地址 : 开源中国

关于作者:厉华,成长在杭州,求学在杭州,工作在杭州,左手C,右手JAVA,写过小到性能卓越方便快捷的日志库、HTTP解析器、日志采集器等,大到交易平台/中间件等,分布式系统实践者,容器技术专研者,2003年大学毕业后一直从事Linux中后台开发,目前在某城市商业银行负责基础架构。

通过邮箱可以联系我 : 网易Gmail

浏览 16
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报