Como gerenciar arquivos LookML e Git com a extensão do Looker para VS Code

A extensão do Looker para VS Code usa um modelo de desenvolvimento local. Esse modelo mantém uma relação trilateral entre o sistema de arquivos local, o modo de desenvolvimento da instância do Looker e o repositório Git remoto.

Este guia explica como a extensão sincroniza arquivos e como as operações locais do Git afetam o projeto do Looker.

Mecanismo de sincronização

A extensão gerencia automaticamente a sincronização do conteúdo do arquivo entre o ambiente de desenvolvimento integrado local e o servidor do Looker.

Como abrir arquivos (leitura na abertura)

Ao abrir um arquivo .lkml no ambiente de desenvolvimento integrado local, a extensão busca automaticamente a versão atual desse arquivo na ramificação extraída no modo de desenvolvimento da instância do Looker. Isso garante que você sempre trabalhe na versão mais atualizada do código.

Como salvar arquivos (gravação ao salvar)

Ao salvar um arquivo localmente (Command-S no Mac ou Ctrl+S no Windows/Linux), a extensão envia imediatamente as mudanças locais para o servidor do Looker. Essas mudanças ficam visíveis no ambiente de desenvolvimento integrado do Looker baseado em navegador quando você está no modo de desenvolvimento.

Como lidar com conflitos de sincronização

Se um arquivo for editado no ambiente de desenvolvimento integrado do Looker baseado em navegador enquanto também estiver aberto no VS Code, um conflito poderá ocorrer.

Por padrão, a extensão vai substituir a versão no servidor do Looker pela versão local do VS Code.

No entanto, se você tiver ativado a configuração looker.askBeforeOverwritingRemote, o VS Code vai mostrar um aviso quando você tentar salvar um arquivo que foi modificado no servidor. Você pode escolher uma das seguintes ações:

  • Visualizar diferenças: abre um editor de diferenças para comparar as mudanças entre as versões remota e local do arquivo. Essa opção permite visualizar e mesclar seletivamente as mudanças linha por linha para resolver o conflito e sincronizar as mudanças locais mescladas de volta ao servidor do Looker.
  • Substituir remoto: substitui a versão no servidor do Looker pela versão local do VS Code.
  • Substituir local: substitui o arquivo local pela versão do servidor do Looker.

A configuração looker.askBeforeOverwritingRemote está desativada por padrão.

Operações locais do Git

A extensão sincroniza o conteúdo do arquivo, mas você precisa gerenciar o repositório Git usando comandos Git padrão no terminal local ou na guia "Controle do código-fonte" do ambiente de desenvolvimento integrado local.

Gerenciar ramificações

Quando você muda de ramificação localmente usando git checkout, a extensão detecta a mudança e muda automaticamente sua sessão no servidor do Looker para a ramificação correspondente.

Antes de sincronizar as mudanças de arquivo, a extensão do Looker para VS Code verifica se a ramificação local do Git corresponde à ramificação do modo de desenvolvimento do Looker, pausando automaticamente a sincronização se as ramificações divergirem, o que impede substituições entre ramificações. Se ocorrer uma incompatibilidade, um comando interativo permitirá que você mude o espaço de trabalho remoto do Looker ou extraia a ramificação localmente, invalidando automaticamente os hashes de arquivo armazenados em cache após o alinhamento para retomar a sincronização com segurança.

Estado do Git no Looker

Quando você salva as mudanças de arquivo, elas são sincronizadas com a instância do Looker e aparecem como não confirmadas no ambiente de desenvolvimento integrado do Looker baseado em navegador. Se você confirmar essas mudanças usando o Git no ambiente local, elas vão continuar aparecendo como não confirmadas no ambiente de desenvolvimento integrado do Looker até que você as envie para o repositório remoto.

Quando você usa git push, a instância do Looker extrai as mudanças confirmadas do repositório remoto. Depois que a instância do Looker extrair do repositório remoto, as mudanças confirmadas e enviadas não vão mais aparecer como não confirmadas no ambiente de desenvolvimento integrado do Looker. Somente os arquivos salvos localmente, mas ainda não confirmados e enviados, vão aparecer como não confirmados.

Validar o LookML

A extensão executa automaticamente o validador do LookML do Looker sempre que você salva uma mudança. Todos os erros de sintaxe e modelo retornados pelo validador vão aparecer inline nos arquivos dentro do ambiente de desenvolvimento integrado local. Se quiser, você também pode executar o validador do LookML manualmente sem salvar arquivos usando o comando Looker: Validate LookML da paleta de comandos.

A seguir