【问题标题】:Programatically remove entry from Atom's undo stack以编程方式从 Atom 的撤消堆栈中删除条目
【发布时间】:2017-11-03 12:20:00
【问题描述】:

我已经为 Atom 编辑器编写了一小段 coffeescript 代码,用于在某些文件被保存之前更新它们的时间戳注释,并且效果很好。

不幸的是,这个修改显然会在 Atom 的撤消堆栈上结束,所以如果在保存这些文件后我撤消了我的更改,时间戳会在之前的更改之前撤消。出于这个原因,我想从撤消堆栈中删除这个时间戳更新。

我知道我可以使用 TextBuffer.transact()TextEditor.transact() 将多个更改打包到单个撤消事务中,但我找不到如何从撤消中删除最后一个(或多个)条目堆栈。

是直接访问historyProvider并弄乱undostackArray的唯一解决方案吗?坦率地说,现在我不知道这会产生哪些副作用,但我在 Atom API 中找不到任何我需要的东西。

非常感谢,一如既往:)

【问题讨论】:

    标签: coffeescript atom-editor


    【解决方案1】:

    很抱歉自动回答,但我找到了实现我想要的方法。

    使用Editor.insertText(text, {undo: 'skip'},可以从撤消堆栈中删除文本插入,并且可以为setTextInRange提供相同的选项,这就是我之前使用的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 2010-12-21
      • 2013-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多