# 附.VSCode 实用功能

{{ prolog }}

## 时间线: 回退删改操作

在{menuselection}`大纲`旁边, 有 VSCode 为我们提供的{menuselection}`时间线`功能, 它会记录我们对文件的更改历史, 允许我们回退不想要的更改:

:::{figure} 时间线.png
:::

这一定程度上省去了你备份文件的麻烦.

但是, 我们必须在 VSCode 中选中一个文件才能查看它的时间线. 那么如果我们将文件删除还清空回收站了, 岂不是没有办法查看到了?

如果你还能记住文件名的话, 恭喜你, 你仍然能找回它. 具体地, 我们用同样的文件名在同样的位置新建一个文件 (注意一定要是新建, 不要复制别的同名文件过来), 然后就会发现时间线中又出现它所有的历史记录了.

## 用 git 记录项目时间线

VSCode 提供的{menuselection}`时间线`只是针对单个文件的, 但假如我们需要记录整个项目的修改情况呢? 为此我们可以通过{menuselection}`左侧侧边栏`创建 git 仓库, 则可以对项目进行存档:

:::{figure} 初始化仓库.png
:::

在初始化后, 我们就能对项目内文件进行提交等操作. 我推荐你在 AI 修改了项目且修改内容可以接受时, 记录对应的注释并提交内容:

:::{figure} 提交commit.png
:::

在提交后, 我们将能在 Git Graph 插件所提供的界面中看到结果:

:::{figure} 查看提交结果.png
:::

:::{hint}
你自然可以通过 [Learn Git Branching](https://learngitbranching.js.org/?locale=zh_CN) 进一步学习 git 来更好地管理项目.
:::

:::{hint}
既然已经初始化了 git 仓库, 你也可以将项目上传到 github 等平台. 编写模板对于 github 仓库提供了额外支持, 你将能: 自动打包前端界面或脚本到 dist 文件夹、让前端界面或脚本能自动更新、当编写模板有更新时自动同步更新……具体请参考 <https://github.com/StageDog/tavern_helper_template> 页面的说明.
:::

## 格式化文件

对于一些不大不小的格式问题, YAML、JSON、Markdown 等都支持格式化. {doc}`我所提供的 VSCode 配置文件 </青空莉/工具经验/实时编写前端界面或脚本/环境准备/index>`已经配置了 "保存时格式化" 功能, 因此你只需要在文件中按 {kbd}`Ctrl-S` 即可格式化文件.

:::::{tabs}
::::{tab} 格式化前
:::{figure} 格式化前.png
:::
::::
::::{tab} 格式化后
:::{figure} 格式化后.png
:::
::::
:::::
