shuzijun / markdown-editor

IntelliJ Platform A full-featured WYSIWYG editor for markdown
https://plugins.jetbrains.com/plugin/17254-markdown-editor
Apache License 2.0
155 stars 35 forks source link

Ctrl+z后退会将复制的全部内容清空而不是上一个动作 #97

Open zhanglei0725 opened 11 months ago

zhanglei0725 commented 11 months ago

Ctrl+z后退会将复制的全部内容清空而不是上一个动作 复制了一篇模板内容填写到一半Ctrl+z后退会将整篇内容全部后退

shuzijun commented 11 months ago

有复现的步骤和图片么,可以贴下

zhanglei0725 commented 11 months ago

就是我复制一段老项目的Markdown内容到一个新的文件中,然后编辑下其中的内容,发现有一块写的有问题想按快捷键Ctrl+z回退回去,操作后粘贴的全部内容全部回退,而不是回退我上一步的操作,使用Markdown Split Editor 没有上述问题可以正常回退到上一步操作内容。

auhouhs commented 4 months ago

我看了一下,根据我的观察应该不是清空全部内容,只是撤销的内容比预想的多了,大致是因为操作过快,导致无法准确记录全部步骤,插件是基于vditor实现的,vidtor中有一个参数来控制记录操作步骤的时间间隔,目前这个时间间隔是800ms,如果在800ms内,多次进行编辑,这些操作会被记录为一个操作步骤,如果要撤销的话,会统一撤销这些操作,这就我观察到的这个问题

插件初始化时可以尝试增加一个undoDelay参数,这个参数目前是800,调小一些应该可以解决这个问题,本想提个pr,但是我也不知道应该改成多大,大了小了都会影响用户体验,@shuzijun image

shuzijun commented 4 months ago

@auhouhs 去看了下vidtor的相关issues,没有用户讨论这个值的大小。感觉每个用户体验不一致,如果用户有需要可以同步模版自行改一下

auhouhs commented 3 months ago

@shuzijun vditor的相关issues中确实没有人讨论这个问题,我也赞同你的想法,但是不得不考虑的一点是,vditor和markdown-editor的受众是不一样的,vditor的受众应当大部分是web前端开发这一群体,他们可以更方便快速的定位识别到这个问题,进而通过修改这一参数来优化自己的使用体验,而markdown-editor虽然依托于vditor,但是受众并不完全相同,对于相当一部分的使用者来说发现这一问题并进行修改可能是有一定难度的