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)

Quando você abre um arquivo .lkml no IDE 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)

Quando você salva 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:

  • Manter local: substitui a versão no servidor do Looker pela versão local do VS Code.
  • Extrair remoto: 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.

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 extrai do repositório remoto, as mudanças confirmadas e enviadas não aparecem mais como não confirmadas no ambiente de desenvolvimento integrado do Looker. Apenas 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