哪里可以找到vscode撤消堆栈文档

时间:2019-09-12 05:13:33

标签: visual-studio-code vscode-extensions

我正在尝试开发一个vscode扩展,该扩展需要访问vscode撤消堆栈,但是我似乎找不到关于此的任何文档。

1 个答案:

答案 0 :(得分:3)

我没有看到扩展可以直接访问撤消堆栈的任何方法。撤消堆栈是在editStack.ts中实现的,但未在API中公开。

我也没有看到任何open issues请求这种访问。不过,我没有搜索已解决的问题。

一些可能的选择

问题How to see local history changes in Visual Studio Code?讨论了几个扩展,这些扩展通过跟踪自身来提供对旧版本的访问。

调用TextEditor.edit时,可以选择在撤消停止之前和之后创建撤消停止。

通过executeCommand,可以执行undoredocursorUndo之类的命令。

您可以使用workspace.onDidChangeTextDocument来监视文档的更改,以便收集自己的文档历史记录。但是,您似乎无法判断给定的更改是否还创建了撤消停止,或者更改是否是由撤消或重做命令触发的。

也就是说,在我的Issue #1431: Support onDidExecuteCommand中讨论过的this answer应该允许监听undoredo的调用,但是我根本没有玩过