首页
社区
课程
招聘
[原创] 分享一下写了N年的自用编辑器 -- EDX
2021-10-3 18:26 77104

[原创] 分享一下写了N年的自用编辑器 -- EDX

2021-10-3 18:26
77104
收藏
点赞52
打赏
分享
最新回复 (302)
雪    币: 3267
活跃值: (2313)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
monpea 2022-7-16 18:21
126
0
我是win10ltsb版本,两个版本一打开就弹出错误。
然后我又重新下载了一个32位的版本,放在虚拟机win7里,没报错。
没有360相关软件,也没有任何杀毒软件。机器里nodejs vue,minigw64 
雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-7-16 19:39
127
0
monpea 我是win10ltsb版本,两个版本一打开就弹出错误。 然后我又重新下载了一个32位的版本,放在虚拟机win7里,没报错。 没有360相关软件,也没有任何杀毒软件。机器里nodejs vue,mi ...

我改了一下异常处理逻辑。再麻烦你用这个调试版本覆盖已有文件,重新运行一下试试呢。谢谢
https://www.ed-x.cc/versions/edx-dbg.zip


不用试了,我安了个Win10LTSB,重现了你的问题。看上去像是系统的有什么组件存在兼容性问题。错误和我的代码没啥关系。研究一下,看怎么规避这个问题。

最后于 2022-7-17 00:43 被无心红叶编辑 ,原因:
雪    币: 0
活跃值: (65)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
上海滩赌肾 2022-7-16 22:23
128
0
软件重新打开、上次打开的文件怎么没有加载进去、是需要设置吗? 还是只支持部分的文件类型.
雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-7-16 23:15
129
0
上海滩赌肾 软件重新打开、上次打开的文件怎么没有加载进去、是需要设置吗? 还是只支持部分的文件类型.
并不支持你所说这个功能,只有打开工程时会自动打开上次未关闭的文件。
雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-7-17 02:45
130
0
monpea 我是win10ltsb版本,两个版本一打开就弹出错误。 然后我又重新下载了一个32位的版本,放在虚拟机win7里,没报错。 没有360相关软件,也没有任何杀毒软件。机器里nodejs vue,mi ...
问题已经解决,更新到0.4.2.1300即可。谢谢你的反馈
雪    币: 3267
活跃值: (2313)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
monpea 2022-7-17 08:49
131
0
无心红叶 问题已经解决,更新到0.4.2.1300即可。谢谢你的反馈[em_1]
已经不弹错了
建议每个tab页 关闭的小叉,设置在每个tab页上,现在太远了,最右边一个x,要关闭鼠标移右边那么远。
简单试了个hellowold的c,没成功,不弄了。
我还是用notepad++和vim了,很好用。
雪    币: 11
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
wx_NULL_579 2022-7-17 08:54
132
0
无心红叶 哈哈,当记事本应该没有啥问题吧[em_1]
我意思,我没学会怎么用,不会写setting.lua。使用还是在使用的。
雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-7-17 12:23
133
0
monpea 已经不弹错了 建议每个tab页 关闭的小叉,设置在每个tab页上,现在太远了,最右边一个x,要关闭鼠标移右边那么远。 简单试了个hellowold的c,没成功,不弄了。 我还是用notepad+ ...
那个关闭的"X"就是相摆设,鼠标中键和右键都能关闭。原来tab上是有关闭按钮的,但比较占位置,去掉了
如果工程不能正常工作,有可能是cmake以及ninja找不到,它们需要在系统的PATH路径中能找到或是在某个工具链中能找到才行。mingw工具链必须在c/d/e/f/g盘的根目录中,以mingw32开头的路径中。或使用msys2,安装在c/d/e/f/g的根目录中才行。
如果不使用工程,在有可用工具链的情况下,在文件头加一行注释“// toolset:”即可。
目前工具链管理还没实现,都是自动搜索的。没法适配那么多的环境。后面把工具链管理做好应该会对你的帮助大一些。
还是希望你能继续帮我提建议
雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-7-17 12:25
134
0
wx_NULL_579 我意思,我没学会怎么用,不会写setting.lua[em_13]。使用还是在使用的。
那本来也不是让大家手工写的,只是现在还没做相关的配置界面。
我自己有的时候也记不清楚格式
雪    币: 26
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
typeid 2022-7-17 22:56
135
0
@无心红叶 大佬你好,想要VI模式,不知道有没有计划
雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-7-18 10:49
136
0
typeid @无心红叶 大佬你好,想要VI模式,不知道有没有计划
是有这个规划的,但一直没有想好具体的设计。感觉光是改的基本的键盘绑定意义不大。如果你有好的想法,可以帮我多出点主意
雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-7-28 15:54
137
0

例行更新。本次更新主要是小的功能改进和BUG修复。

2022-07-28:

修正WSL代码补全错误

修正LSP服务返回巨型结果导致的死循环

修正windbg占用目标进程不退出的问题

优化windbg下引用变量的显示

优化windbg执行交互命令相关逻辑,避免调试器卡死

改进调试器异常源代码定位及相关提示

预加载文档结构,减少首次展示文档结构时的延迟

支持MID/RMI/SF2/SFPAK解析

支持选区/行移动功能


2022-07-23:

修正撤销/重做时可能崩溃的问题

修正UI计算错误导致崩溃的问题

修正c/c++代码折叠计算错误

优化语言服务性能

支持WebP/AVI/WAVE解析


雪    币: 92
活跃值: (464)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hzhhzh 2022-8-1 15:08
138
0
又来厚颜无耻的提需求了希望大佬能够采纳
1.查找替换能不能增加一个 "在所有打开的文件里查找/替换" 。现在只能搜索当前一个文件,或者指定查找目录。
2.查找&替换窗口希望能保持之前查找的记录。现在历史查找结果会被覆盖。
3.希望能加个菜单,手动指定语法高亮类型。有时候临时写个代码段,文件顺手保存成txt,甚至没有保存,这时就没有高亮可以用。
雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-8-1 22:44
139
0
hzhhzh 又来厚颜无耻的提需求了[em_78]希望大佬能够采纳 1.查找替换能不能增加一个 "在所有打开的文件里查找/替换" 。现在只能搜索当前一个文件,或者指定查找目录。 2.查找&a ...
欢迎随时提需求
前两个功能要花点时间。
第三个功能有替代方案,在输出控制台上通过syntax xxx可以指定当前的语法高亮类型。
雪    币: 92
活跃值: (464)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hzhhzh 2022-8-2 15:57
140
0
无心红叶 欢迎随时提需求[em_1] 前两个功能要花点时间。 第三个功能有替代方案,在输出控制台上通过syntax xxx可以指定当前的语法高亮类型。
语法高亮可以了,谢谢
雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-8-4 15:01
141
0

2022-08-04:

优化搜索、替换功能

支持搜索/替换已经打开的文件

支持搜索结果分组折叠

支持保留上一次搜索结果

添加搜索结果面板工具栏

优化海量搜索结果的展示性能

lua解析器支持校验部分非法符号

实现简易项目配置界面,用来设置调试/运行时的命令行参数,当前目录及环境变量

添加当前高亮模式状态栏

支持通过菜单手动指定当前文件的高亮模式(双击状态栏高亮模式区块)


效果展示:

雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-8-4 15:02
142
0
hzhhzh 语法高亮可以了,谢谢[em_13]
你的需求已经全部实现,请查收
雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-8-4 15:06
143
0
wx_NULL_579 我意思,我没学会怎么用,不会写setting.lua[em_13]。使用还是在使用的。
实现了个简单的项目配置界面,你不用手工改settings.lua了
雪    币: 92
活跃值: (464)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hzhhzh 2022-8-4 15:29
144
0
无心红叶 实现了个简单的项目配置界面,你不用手工改settings.lua了
刚接到更新,没想到真的是我提的需求
大佬厉害了。
试了下新功能,有个小小的建议:搜索历史里面,最近的搜索结果放上面吧。不然每次搜索完展示的还是旧的结果,得拉到最底下才能看到
雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-8-4 15:34
145
0
hzhhzh 刚接到更新,没想到真的是我提的需求[em_13] [em_63]大佬厉害了。 试了下新功能,有个小小的建议:搜索历史里面,最近的搜索结果放上面吧。不然每次搜索完展示的还是旧的结果,得拉到最底下才能 ...
所有的输出面板都支持自动滚动的,只要你把页面滚动到最后,有输出的时候都会展示最新的内容。
雪    币: 92
活跃值: (464)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hzhhzh 2022-8-5 09:15
146
0
无心红叶 所有的输出面板都支持自动滚动的,只要你把页面滚动到最后,有输出的时候都会展示最新的内容。[em_1]
好的。我又发现个问题:
不是有个skip的参数,映像劫持时跳过第一个参数嘛。
打开第一个文件是有效的,不会打开notepad.exe。
但是如果再开第二个txt,好像又没用了,还是会同时打开notepad.exe和第二个txt

映像劫持我是这么写的
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe]
"Debugger"="\"D:\\edx\\edx.exe\" -skip1"

雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-8-5 12:41
147
0
hzhhzh 好的。我又发现个问题: 不是有个skip的参数,映像劫持时跳过第一个参数嘛。 打开第一个文件是有效的,不会打开notepad.exe。 但是如果再开第二个txt,好像又没用了,还是会同时打开no ...
你是单进程模式的确会有这个问题
雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-8-9 12:06
148
0

解决了长久以来的性能瓶颈,千万行级的文本替换终于有点实用价值了。

如下所示,5千万行的日志文件,替换空行耗时50秒。


做同样的替换,5百万行级别规模:

edx旧版 耗时 10分钟以上

edx新版 耗时 4.2秒

vscode 耗时 12秒

emeditor 耗时 >20秒

除此以外,其它编辑器暂无替换成功的案例。


与此同时,对此替换的撤销和重做

edx 耗时 <1秒

vscode 耗时 > 3秒

emeditor 耗时 > 5秒


我的正则表达式实现虽然性能不怎么样,功能也很弱。但配合我的编辑器,暂时领先于其它所有编辑器^_^



本次更新日志:

2022-08-09:

修正/skipN参数在单进程模式下的异常

修正windbg快速启动、停止后可能导致的状态异常

优化文档对象性能(大幅提升新增、删除、合并行的性能), 编辑千万行级别的文本不再卡顿

优化文本替换性能,海量多行文本替换性能提升约100倍

优化clangd搜索逻辑

更新zlib到1.2.12


雪    币: 4660
活跃值: (3359)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无心红叶 2022-8-9 12:09
149
0
无心红叶 所有的输出面板都支持自动滚动的,只要你把页面滚动到最后,有输出的时候都会展示最新的内容。[em_1]
版本已经更新,你的问题解决了
雪    币: 92
活跃值: (464)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hzhhzh 2022-8-10 10:43
150
0
无心红叶 版本已经更新,你的问题解决了[em_1]
可以了,谢谢!
游客
登录 | 注册 方可回帖
返回