Histórico da VFS

Introdução

O Histórico de Alterações da Virtual File System lista todas as modificações em caminhos, conteúdos ou media types realizadas em seus arquivos. As alterações são agrupadas por arquivo e listadas na ordem da mais atual para a menos atual. A barra de pesquisas conta com uma entrada de texto para filtrar os arquivos por caminho ou padrão glob aumentado, bem como entradas para as datas inicial e final da busca (por padrão, essas datas são automaticamente preenchidas com o dia corrente). É possível utilizar os mesmos atalhos dos formulários do sistema para o preenchimento das datas.

OBS: O filtro de arquivos utiliza os caminhos atuais, e não consegue detectar arquivos que já tenham sido removidos.

Exemplo de utilização:

History Demonstration

Acessando o histórico

A tela de busca do histórico pode ser acessada utilizando o comando Engine DevTools: Open VFS History, o atalho Ctrl+E H, ou a opção “Open VFS History”, presente nos menus de contexto do editor, do explorador de arquivos, e da base de dados (na view da extensão).

A busca já será preenchida pelo caminho do arquivo ou glob pattern do diretório correspondente, e será disparada automaticamente, caso o histórico seja acessado por algum dos seguintes meios:

  • Menu de contexto do editor;
  • Menu de contexto do explorador de arquivos;
  • Comando ou atalho, com um arquivo da VFS aberto no editor ativo.

Por qualquer outro meio, a tela padrão será aberta com a entrada do filtro de arquivos em branco. É possível que o usuário seja perguntado sobre qual base de dados será usada para a consulta do histórico, caso o comando ou atalho sejam utilizados no momento em que mais de uma base esteja conectada.

Estrutura de exibição

A imagem a seguir ilustra como a lista de registros é exibida:

Record Structure

O histórico é agrupado por arquivo, sendo apresentado no formato de múltiplas listas de registros, onde cada uma dessas listas é colapsável usando a seta ao lado do título da lista.

O título possui o nome atual do arquivo, sua chave entre parênteses, e o caminho do diretório (com menos destaque ao lado). Caso o arquivo tenha sido excluído, o nome e caminho exibidos serão os últimos antes da exclusão. Nome e chave também funcionam como link para o arquivo.

Exemplo com arquivo excluído:

Deleted Record

Os registros do histórico possuem as seguintes informações:

  • Versão da alteração;
  • Usuário que realizou a alteração;
  • Data e hora;
  • Tag indicando que tipos de modificação foram feitas no arquivo.

A tag indica se o arquivo foi alterado (changed), criado (created) ou removido (deleted) naquela versão. Caso tenha sido apenas alterado, a tag também conta com uma lista do que foi modificado, entre conteúdo, caminho e tipo de mídia (content, path e mime type, respectivamente). Ao clicar na tag, são exibidas as diferenças dessas modificações.

Cada registro também possui uma caixa de seleção no início para interagir com o painel de ações, que será explicado abaixo. O usuário pode selecionar um registro, ou uma sequência de registros de mesmo arquivo utilizando a tecla shift.

Painel de ações

O painel de ações é apresentado acima da lista, e pode exibir um ou mais dos seguintes botões, a depender de quantos registros estão selecionados:

Action Panel

Na ordem, estas ações são:

  • Recarregar Resultados: Faz novamente a consulta ao histórico com os mesmos parâmetros e exibe a lista atualizada. Esse botão está sempre presente no painel;
  • Exibir Diferenças: Exibe as diferenças, em uma tela separada, da versão ou sequência de versões. O botão é exibido na tela enquanto um ou mais registros estiverem selecionados.
  • Desfazer: Desfaz as alterações da versão. O botão é exibido se um único registro estiver selecionado.
  • Resfazer: Refaz as alterações da versão. O botão é exibido se um único registro estiver selecionado.

Exibição das diferenças

As diferenças de uma versão ou sequência de versões são exibidas em uma janela de diff do VS Code. Foi adotado um padrão em que as 3 primeiras linhas do conteúdo exibido no diff são reservadas para exibir as alterações no caminho e media type.

Filtros extras

A clicar nos três pontos logo abaixo da caixa de entrada das datas, no canto direito, é exibido o painel com filtros extras do histórico.

Extra Filters

Filtro por conteúdo do arquivo

Exibe apenas os registros do histórico cujo conteúdo do arquivo, seja antes ou depois da modificação, possua o conteúdo inserido no filtro. Semelhante à busca do VS Code, possui as opções:

  • Match Case: Torna a pesquisa case-sensitive.
  • Match Whole Word: Encontra o termo digitado apenas onde o mesmo ocorre como uma palavra. Uma palavra é um termo isolado no texto por separadores de palavra ou espaços em branco.
  • Use Regular Expression: A busca interpretará o termo digitado como sendo uma expressão regular ao invés de um texto simples.

Filtro de usuários

Exibe apenas os registros de alterações efetuadas pelos usuários encontrados a partir do filtro. O filtro pode consistir de chaves, nomes e fragmentos de nomes separados por vírgula.

Um filtro “123, Jo” poderia encontrar a seguinte lista de usuários, por exemplo:

  • Maria (chave: 123);
  • José (chave: 456);
  • Ana123 (chave 789).
  • Jorge (chave 012).

O filtro também funciona para chaves de usuários já removidos, pois apesar da remoção, o registro permanece salvo com a chave do usuário que efetuou a alteração na época.