Replies: 2 comments 2 replies
-
这里就涉及到了 TimeLine 面板的实现,相关 Issue #2424. |
Beta Was this translation helpful? Give feedback.
1 reply
-
结合 #2480 来给未保存的文件提供备份存储,保存后则进入到 Local History 的操作记录中 |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
背景
在 IDE 里进行编码可能会发生因为误操作等原因导致代码丢失的情况,比如误操作 git reset、不在暂存区的文件撤销/回退栈丢失的问题等。
为了解决这个问题,我们打算在 OpenSumi 里内置实现一个 Local History 功能,它可以保存代码的历史操作,并能够方便地进行版本比较和恢复。
与 Git 版本控制系统不同,Local History 可以记录项目的所有变更操作,包括代码编辑、保存、重命名、撤销/回退、来自 workspace edit 的操作等,并允许你回滚到文件的任何状态。即使你的项目还没启用 Git 版本控制,他也可以成为你的个人版本控制系统。
但与 Git 不同的是,Local History 需要设定存储的大小和时间,所以他并不是 Git 的替代品,而是作为一种兜底的方案来帮助你找回曾经丢失的代码
同类 IDE 的 Local History
WebStorm
https://www.jetbrains.com/help/webstorm/local-history.html#restore-changes-from-local-history
VS Code
https://code.visualstudio.com/updates/v1_66#_local-history
功能清单
关于未保存文件的历史记录处理
对于未保存的文件需要单独做 backup 处理,既未保存时会在某个缓存路径创建临时文件并存储该文档的内容,保存后再将这个文件删除
所以对于未保存的文件不记录在 Local History 的范围内,这块需要另开 issue 单独实现
Actions
(待补充)
如何测试?
(待补充)
Beta Was this translation helpful? Give feedback.
All reactions