如何在Visual Studio代码中查看本地历史记录更改?

Ida*_*gan 40 visual-studio-code

我正在寻找一种方法来查看我当地的历史变化.

WebStorm中的等价方式: 在此输入图像描述

Adá*_*bar 168

这很简单,只需打开一个文件并检查timeline选项卡

提示:SP Sharan

此外,如果您删除了一个文件,您可以创建一个具有相同名称的空文件,并且时间线应该再次填充!

在此输入图像描述

  • 这是我的救星!我对另一个分支进行了 git checkout,但没有在当前分支上提交更改。当我查看之前的分支时,我的工作已经消失了。我能够使用 VS code 的时间轴功能恢复已更改的各个文件。 (11认同)
  • 老兄!非常感谢您的回答。`git reset --hard` 消除了我一周的工作量。我说的是被删除的数千行代码。我差点心脏病发作!但我碰巧偶然发现了这里,并没有失去希望。幸运的是,这个功能是默认安装的。这东西救了我!!! (9认同)
  • 此外,如果您删除了一个文件,您可以创建一个具有相同名称的空文件,并且时间线应该再次填充! (3认同)
  • 这节省了我再次编码的时间 (2认同)
  • 我不知道为什么这个答案被埋在两个更长的答案下面,它应该在顶部。 (2认同)

Mar*_*ark 82

本地文件历史记录

现在可以从时间轴视图中查看文件的本地历史记录。根据配置的设置,每次保存编辑器时,都会将一个新条目添加到列表中:

每个本地历史记录条目都包含创建该条目时文件的完整内容,并且在某些情况下可以提供更多语义信息(例如指示重构)。

从条目中您可以:

比较对本地文件或先前条目的更改 恢复内容 删除或重命名条目

请参阅https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_66.md#local-history

本地文件历史记录正在积极开发中,并包含在 Insiders' Build v1.66 中。结果将在Timeline视图中提供。

以下是当前适用的设置:

Workbench > Local History: Enabled

控制是否启用本地文件历史记录。启用后,保存的编辑器的文件内容将存储到备份位置,并可以在以后恢复或查看。更改此设置对现有文件历史记录条目没有影响。

Workbench > Local History: Max File Entries

控制每个文件的本地文件历史记录条目的最大数量。当本地文件历史条目的数量超过文件的此数量时,最旧的条目将被丢弃。

Workbench > Local History: Max File Size

控制本地历史记录中考虑的文件的最大大小(以 KB 为单位)。除非通过用户手势明确添加,否则较大的文件不会添加到本地历史记录中。更改此设置对现有文件历史记录条目没有影响。

本地历史记录设置

这些命令:

timeline.toggleExcludeSource:timeline.localHistory  

workbench.action.localHistory.compareWithFile
workbench.action.localHistory.compareWithPrevious
workbench.action.localHistory.selectForCompare     // compare any 2 entries
workbench.action.localHistory.compareWithSelected

workbench.action.localHistory.delete               // delete this entry
workbench.action.localHistory.deleteAll            // delete all entries of all files from local history

workbench.action.localHistory.open
workbench.action.localHistory.restore
workbench.action.localHistory.restoreViaEditor
workbench.action.localHistory.rename               // rename this entry
Run Code Online (Sandbox Code Playgroud)

添加了新的全局命令来处理本地历史记录:

workbench.action.localHistory.create:使用自定义名称为活动文件创建新的历史记录条目

workbench.action.localHistory.deleteAll:删除所有文件中的所有历史记录条目

workbench.action.localHistory.restoreViaPicker:查找历史记录条目以跨所有文件恢复

引入了一系列新设置来处理本地历史记录:

workbench.localHistory.enabled:启用或禁用本地历史记录(默认值:true) workbench.localHistory.maxFileSize:创建本地历史记录条目的文件大小限制(默认值:256kb)
workbench.localHistory.maxFileEntries:每个文件的本地历史记录条目限制(默认值:50)
workbench.localHistory.exclude:用于排除某些文件的 glob 模式本地历史记录
workbench.localHistory.mergeWindow:以秒为单位的时间间隔,在此期间本地文件历史记录中的最后一个条目替换为正在添加的条目(默认 10 秒)

时间线本地历史命令菜单

  • 我在那里看到了时间线,但没有检查过。我只是不小心覆盖了我的整个网站,并以为我失去了一整天的工作,但时间轴将每个文件恢复到之前的状态!不幸的是,数据库无法恢复,但恢复所有文件真是一个巨大的解脱! (2认同)

Bar*_*rni 40

我认为在VS Code中没有开箱即用的支持.

您可以安装插件以提供类似的功能.例如.:

https://marketplace.visualstudio.com/items?itemName=micnil.vscode-checkpoints

或者更有名的

https://marketplace.visualstudio.com/items?itemName=xyz.local-history

可能需要配置一些细节:由于此类插件创建的其他文件夹,VS代码搜索有时会混淆.您可以将其配置为忽略此类文件夹或更改其位置.


mic*_*nil 16

我建立了一个名为Checkpoints的扩展,它是本地历史的替代品.检查点支持在树视图中查看所有文件(具有检查点)的历史记录,而不仅仅是当前活动文件.还有一些其他的细微差别,但总的来说它们非常相似.


jab*_*tta 11

基本功能

  • 本地历史扩展可以使用自动保存的本地编辑历史。
  • Checkpoints扩展可以使用手动保存的本地编辑历史记录(这是 IntelliJ 相当于向本地历史记录添加标签)。

高级功能

  • 当文件被移动或重命名时,上面提到的任何扩展都不支持编辑历史记录。
  • 上述扩展仅支持编辑历史记录。例如,它们不支持移动/删除历史记录,就像 IntelliJ 那样。

打开请求

如果您希望看到本机添加此功能以及所有高级功能,我建议您在此处投票支持开放的 GitHub 问题