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

scr*_*ius 6 visual-studio-code vscode-extensions

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

Sco*_*eak 5

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

我也没有看到任何请求此类访问的未决问题。不过,我没有搜索已关闭的问题。

一些可能的替代方案

问题如何在 Visual Studio Code 中查看本地历史记录更改?讨论了一些扩展,它们通过跟踪自身来提供对旧版本的访问。

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

通过executeCommand,可以执行undoredo、 和 等命令cursorUndo

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

也就是说,问题#1431:支持 onDidExecuteCommand ,在我的这个答案中讨论,应该允许监听undoand的调用redo,但我根本没有使用过它。