Gérer les fichiers LookML et Git avec l'extension Looker pour VS Code

L'extension Looker pour VS Code utilise un modèle de développement local. Ce modèle maintient une relation à trois entre votre système de fichiers local, le mode Développement de votre instance Looker et votre dépôt Git distant.

Ce guide explique comment l'extension synchronise les fichiers et comment les opérations Git locales affectent votre projet Looker.

Mécanisme de synchronisation

L'extension gère automatiquement la synchronisation du contenu des fichiers entre votre IDE local et le serveur Looker.

Ouverture de fichiers (lecture à l'ouverture)

Lorsque vous ouvrez un fichier .lkml dans votre IDE local, l'extension récupère automatiquement la version actuelle de ce fichier à partir de votre branche extraite dans le mode Développement de votre instance Looker. Vous travaillez ainsi toujours sur la version la plus récente du code.

Enregistrement de fichiers (écriture à l'enregistrement)

Lorsque vous enregistrez un fichier localement (Commande+S sur Mac ou Ctrl+S sur Windows/Linux), l'extension envoie immédiatement vos modifications locales au serveur Looker. Ces modifications sont ensuite visibles dans l'IDE Looker basé sur un navigateur lorsque vous êtes en mode Développement.

Gérer les conflits de synchronisation

Si un fichier est modifié dans l'IDE Looker basé sur un navigateur alors qu'il est également ouvert dans VS Code, un conflit peut se produire.

Par défaut, l'extension remplace la version sur le serveur Looker par votre version locale de VS Code.

Toutefois, si vous avez activé le paramètre looker.askBeforeOverwritingRemote, VS Code affiche un avertissement lorsque vous tentez d'enregistrer un fichier qui a été modifié sur le serveur. Vous pouvez choisir l'une des actions suivantes :

  • View Diff (Afficher les différences) : ouvre un éditeur de différences pour comparer les modifications entre les versions distante et locale du fichier. Cette option vous permet d'afficher et de fusionner de manière sélective les modifications ligne par ligne pour résoudre le conflit et synchroniser les modifications locales fusionnées avec le serveur Looker.
  • Overwrite Remote (Écraser la version distante) : remplace la version sur le serveur Looker par votre version locale de VS Code.
  • Overwrite Local (Écraser la version locale) : remplace votre fichier local par la version du serveur Looker.

Le paramètre looker.askBeforeOverwritingRemote est désactivé par défaut.

Opérations Git locales

L'extension synchronise le contenu des fichiers, mais vous devez gérer votre dépôt Git à l'aide des commandes Git standards dans votre terminal local ou dans l'onglet "Contrôle des sources" de l'IDE local.

Gérer les branches

Lorsque vous changez de branche localement à l'aide de git checkout, l'extension détecte la modification et bascule automatiquement votre session sur le serveur Looker vers la branche correspondante.

Avant que Looker ne synchronise les modifications de votre fichier, l'extension Looker pour VS Code vérifie que votre branche Git locale correspond à votre branche du mode Développement Looker. Elle met automatiquement en pause la synchronisation si les branches divergent, ce qui empêche les écrasements entre les branches. En cas de non-concordance, une invite interactive vous permet de basculer vers votre espace de travail Looker distant ou d'extraire la branche localement, ce qui invalide automatiquement les hachages de fichiers mis en cache lors de l'alignement pour reprendre la synchronisation en toute sécurité.

État Git dans Looker

Lorsque vous enregistrez des modifications de fichier, elles sont synchronisées avec votre instance Looker et apparaissent comme non validées dans l'IDE Looker basé sur un navigateur. Si vous validez ces modifications à l'aide de Git dans votre environnement local, elles continueront à apparaître comme non validées dans l'IDE Looker jusqu'à ce que vous les envoyiez à votre dépôt distant.

Lorsque vous utilisez git push, votre instance Looker extrait les modifications validées de votre dépôt distant. Une fois que votre instance Looker a extrait les modifications à distance, celles que vous avez validées et envoyées n'apparaissent plus comme non validées dans l'IDE Looker. Seuls les fichiers enregistrés localement, mais pas encore validés ni envoyés, apparaissent comme non validés.

Valider le code LookML

L'extension exécute automatiquement le validateur LookML de Looker chaque fois que vous enregistrez une modification. Toutes les erreurs de syntaxe et de modèle renvoyées par le validateur s'affichent en ligne dans vos fichiers de votre IDE local. Si vous le souhaitez, vous pouvez également exécuter manuellement le programme de validation LookML sans enregistrer de fichiers à l'aide de la commande Looker: Validate LookML (Looker : Valider le code LookML) de la palette de commandes.

Étape suivante