我为Atom编辑器编写了一小段coffeescript
代码,用于在保存之前更新某些文件的时间戳评论,并且它运行良好。
不幸的是,这种修改很明显会在Atom的撤销堆栈中结束,因此如果在保存这些文件后撤消我的更改,则在之前的更改之前撤消时间戳。出于这个原因,我想从撤消堆栈中删除此时间戳更新。
我知道我可以使用TextBuffer.transact()
或TextEditor.transact()
将多个更改打包到一个撤消事务中,但我找不到如何删除最后一个条目(或条目) )来自撤销堆栈。
唯一的解决方案是直接访问historyProvider
并弄乱undostack
Array
吗?坦率地说,现在我不知道这会产生哪些副作用,但我在Atom API中找不到任何我需要的东西。
一如既往地提前感谢:)
答案 0 :(得分:0)
对不起自动回答,但我找到了实现我想要的方法。
使用Editor.insertText(text, {undo: 'skip'}
,可以从撤消堆栈中删除文本插入,并且可以为setTextInRange
提供相同的选项,这是我之前使用的。