VS Code是否存在类似Vim undotree的撤销树功能插件?
VS Code 实现类Vim undotree 全编辑历史掌控方案
不用依赖任何Vim相关插件,VS Code 结合原生能力和对应插件,完全可以实现和Vim undotree一致的分支式编辑轨迹追踪、任意版本跳转回退效果:
- 原生本地历史基础能力
VS Code 1.66及以上版本已经内置本地编辑历史功能,默认会自动留存文件每次保存、甚至未保存状态下的编辑快照,在侧边栏资源管理器的「时间线」视图就能看到当前文件按时间排序的所有变更记录,点选任意条目即可查看代码差异、直接回退到对应版本。不过原生时间线是线性记录,如果你撤销内容后输入了新的修改,之前被撤销的内容分支会被覆盖,做不到undotree那样全分支无遗漏留存的效果。 - 完全匹配undotree核心体验的插件
直接安装Undo Tree插件即可,核心逻辑和Vim端的undotree完全对齐:- 完整记录所有撤销、重做操作产生的编辑分支,不会因为撤销后写入新内容就丢失之前的修改轨迹
- 侧边栏以树状结构展示所有编辑节点,点击任意节点就能直接预览对应版本的代码内容,支持一键切换到任意历史节点
- 不需要依赖Git或其他外部版本控制系统,所有记录基于本地实时编辑操作生成,试验性写代码、调试改逻辑的时候,可以随意在不同修改思路的分支之间跳转,不会漏掉任何之前试过的写法
- 使用配置提示
插件安装完成后,可以自定义快捷键呼出undotree面板,默认触发命令为Undo Tree: Open Undo Tree,习惯Vim操作逻辑的用户可以绑定和Vim端一致的快捷键,几乎没有上手成本。
内容的提问来源于stack exchange,提问作者Enlico
相关产品推荐
相关产品推荐

