Eu tenho alguns scripts que reescrevem meu arquivo settings.json do terminal do Windows a partir de um modelo.
Ao corrigir um bug, notei outro arquivo, state.json
. Mas não consigo encontrar nenhuma documentação para isso. Aqui está minha versão editada:
{
"dismissedMessages" :
[
"setAsDefault"
],
"generatedProfiles" :
[
"{<some-guid1>}",
"{<some-guid2>}",
"{<some-guid3>}",
"{<some-guid4>}",
"{<some-guid5>}",
"{<some-guid6>}"
],
"settingsHash" : "<some-hash<"
}
O que esses valores/chave significam?
A única informação que encontrei no site de documentos do Microsoft Terminal é esta página com a seguinte declaração no contexto de redefinir seu settings.json para os padrões:
No repositório do github, encontrei esta página de especificações , que diz entre outras coisas:
Não encontrei um esquema para este arquivo como eles têm para settings.json, mas este arquivo .h parece ser onde pelo menos alguns desses campos são declarados.
Portanto, este parece ser um arquivo para o Terminal manter o estado que não será afetado pela edição de settings.json por um usuário. Também parece que um foco é armazenar o estado relacionado às interações do Terminal com um arquivo settings.json que também foi editado diretamente por um usuário.
As chaves no meu arquivo json são evidentes no contexto da especificação acima, embora eu tenha menos certeza de settingsHash . Parece ser onde é usado atualmente, como uma forma de evitar o recálculo da "JumpList". Isso parece indicar que settingsHash deve ser um hash de todas as configurações atuais, incluindo as edições settings.json do usuário, e não apenas as configurações originais geradas pelo Terminal.
Por que computar o JumpList seria intensivo em CPU, eu não sei. Talvez não seja, envolve apenas chamadas de API lentas para o sistema operacional.
Em particular, não vejo razão para editar ou modificar este arquivo, a menos que eu queira redefinir meu settings.json de volta aos padrões de fábrica.