Gestione dei file LookML e di Git con l'estensione Looker per VS Code

L'estensione Looker per VS Code utilizza un modello di sviluppo local-first. Questo modello mantiene una relazione a tre vie tra il file system locale, la modalità di sviluppo dell'istanza di Looker e il repository Git remoto.

Questa guida spiega come l'estensione sincronizza i file e in che modo le operazioni Git locali influiscono sul progetto Looker.

Meccanismo di sincronizzazione

L'estensione gestisce automaticamente la sincronizzazione dei contenuti dei file tra l'IDE locale e il server Looker.

Apertura dei file (lettura all'apertura)

Quando apri un file .lkml nell'IDE locale, l'estensione recupera automaticamente la versione corrente del file dal ramo di cui hai eseguito il checkout nella modalità di sviluppo dell'istanza di Looker. In questo modo, lavori sempre sulla versione più aggiornata del codice.

Salvataggio dei file (scrittura al salvataggio)

Quando salvi un file in locale (Comando-S su Mac o Ctrl+S su Windows/Linux), l'estensione esegue immediatamente il push delle modifiche locali sul server Looker. Queste modifiche sono quindi visibili nell'IDE di Looker basato su browser quando sei in modalità di sviluppo.

Gestire i conflitti di sincronizzazione

Se un file viene modificato nell'IDE di Looker basato su browser mentre è aperto anche in VS Code, potrebbe verificarsi un conflitto.

Per impostazione predefinita, l'estensione sovrascrive la versione sul server Looker con la versione locale di VS Code.

Tuttavia, se hai attivato l'impostazione looker.askBeforeOverwritingRemote, VS Code mostra un avviso quando tenti di salvare un file modificato sul server. Puoi scegliere di eseguire una delle seguenti azioni:

  • Visualizza diff: apri un editor di diff per confrontare le modifiche tra le versioni remota e locale del file. Questa opzione ti consente di visualizzare e unire selettivamente le modifiche riga per riga per risolvere il conflitto e sincronizzare le modifiche locali unite con il server Looker.
  • Sovrascrivi remoto: sovrascrivi la versione sul server Looker con la versione locale di VS Code.
  • Sovrascrivi locale: sovrascrivi il file locale con la versione del server Looker.

L'impostazione looker.askBeforeOverwritingRemote è disattivata per impostazione predefinita.

Operazioni Git locali

L'estensione sincronizza i contenuti dei file, ma devi gestire il repository Git utilizzando i comandi Git standard nel terminale locale o nella scheda Controllo del codice sorgente dell'IDE locale.

Gestire i rami

Quando cambi ramo in locale utilizzando git checkout, l'estensione rileva la modifica e passa automaticamente la sessione sul server Looker al ramo corrispondente.

Prima che Looker sincronizzi le modifiche ai file, l'estensione Looker per VS Code verifica che il ramo Git locale corrisponda al ramo della modalità di sviluppo di Looker, mettendo automaticamente in pausa la sincronizzazione se i rami divergono, il che impedisce le sovrascritture tra rami. Se si verifica una mancata corrispondenza, un prompt interattivo ti consente di passare all'area di lavoro Looker remota o di eseguire il checkout del ramo in locale, invalidando automaticamente gli hash dei file memorizzati nella cache al momento dell'allineamento per riprendere la sincronizzazione in sicurezza.

Stato Git in Looker

Quando salvi le modifiche ai file, queste vengono sincronizzate con l'istanza di Looker e vengono visualizzate come non sottoposte a commit nell'IDE di Looker basato su browser. Se esegui il commit di queste modifiche utilizzando Git nel tuo ambiente locale, continueranno a essere visualizzate come non sottoposte a commit nell'IDE di Looker finché non le esegui il push nel repository remoto.

Quando utilizzi git push, l'istanza di Looker esegue il pull delle modifiche di cui è stato eseguito il commit dal repository remoto. Dopo che l'istanza di Looker ha eseguito il pull da remoto, le modifiche di cui hai eseguito il commit e il push non verranno più visualizzate come non sottoposte a commit nell'IDE di Looker. Solo i file salvati in locale ma non ancora sottoposti a commit e push verranno visualizzati come non sottoposti a commit.

Convalida LookML

L'estensione esegue automaticamente lo strumento di convalida LookML di Looker ogni volta che salvi una modifica. Eventuali errori di sintassi e di modello restituiti dallo strumento di convalida verranno visualizzati in linea all'interno dei file nell'IDE locale. Se vuoi, puoi anche eseguire lo strumento di convalida LookML manualmente senza salvare i file utilizzando il comando Looker: Validate LookML (Looker: convalida LookML) della tavolozza dei comandi.

Passaggi successivi