我有几个脚本可以从模板重写我的 Windows 终端 settings.json 文件。
在修复错误时,我注意到另一个文件,state.json
. 但我找不到任何相关文档。这是我的编辑版本:
{
"dismissedMessages" :
[
"setAsDefault"
],
"generatedProfiles" :
[
"{<some-guid1>}",
"{<some-guid2>}",
"{<some-guid3>}",
"{<some-guid4>}",
"{<some-guid5>}",
"{<some-guid6>}"
],
"settingsHash" : "<some-hash<"
}
这些键/值是什么意思?
我在 Microsoft Terminal 文档网站上找到的唯一信息是此页面,其中在将 settings.json 重置为默认值的上下文中包含以下语句:
在 github 存储库中,我找到了这个规范页面,其中包含以下内容:
我没有找到像 settings.json 那样的该文件的架构,但 这个 .h 文件似乎是至少声明其中一些字段的地方。
因此,这似乎是终端保存状态的文件,不会因用户对 settings.json 的编辑而消失。似乎焦点之一是存储与终端与 settings.json 文件交互相关的状态,该文件也已由用户直接编辑。
尽管我不太确定settingsHash ,但我的 json 文件中的键在上述规范的上下文中是不言而喻的。这似乎是当前使用的地方,作为避免重新计算“JumpList”的一种方法。这似乎表明 settingsHash 应该是所有当前设置的哈希,包括用户的 settings.json 编辑,而不仅仅是终端生成的原始设置。
我不知道为什么计算 JumpList 会占用 CPU 资源。也许不是,它只是涉及对操作系统的缓慢 API 调用。
特别是,我认为没有理由编辑或修改此文件,除非我想将 settings.json 重置回出厂默认值。