Premiers pas avec l'extension Looker pour VS Code

L'extension Looker par Google Cloud pour Visual Studio Code (VS Code) vous permet de développer LookML directement dans votre environnement de bureau local. Il offre une coloration syntaxique riche, une synchronisation bidirectionnelle des fichiers avec votre instance Looker et l'intégration d'agents de codage IA pour le "vibe coding".

L'extension est conçue à l'aide du framework Visual Studio Code (VS Code). Elle est compatible avec les environnements de développement intégrés (IDE) basés sur l'IDE VS Code, tels que les IDE et outils de programmation suivants :

  • Claude Code
  • Codex
  • Cursor
  • Kiro
  • VS Code
  • Windsurf
  • Zed

Les IDE qui ne sont pas des forks de VS Code, tels qu'IntelliJ et Eclipse, ne sont pas compatibles avec l'extension Looker pour VS Code.

Ce guide explique comment configurer et authentifier l'extension.

Workflow optimisé par l'IA

L'extension Looker pour VS Code fait partie d'un workflow de développement agentique optimisé par l'IA pour modifier et créer des fichiers LookML. Pour activer ce workflow, configurez les outils suivants :

  • Un IDE local basé sur VS Code. L'IDE doit contenir un agent d'IA intégré (par exemple, Cursor). Si l'IDE ne contient pas d'agent d'IA intégré, il doit être intégré à un outil agentique autonome (tel que Gemini CLI ou Claude Code). Consultez la documentation de votre IDE local pour savoir comment connecter votre IDE à un agent.
  • L'extension Looker pour VS Code.
  • Un serveur MCP, tel que le serveur MCP géré par Looker.

Pour en savoir plus sur le workflow optimisé par l'IA, consultez la page de documentation Développement assisté par l'IA (codage Vibe) avec Looker.

Avant de commencer

Avant d'installer l'extension, vous devez remplir les conditions suivantes :

  • Serveur MCP géré par Looker (facultatif, mais recommandé) : si vous prévoyez d'utiliser le développement assisté par l'IA, connectez votre IDE et votre agent d'IA au serveur MCP géré par Looker. Les instructions pour configurer le serveur MCP sont disponibles sur la page de documentation Serveur MCP géré par Looker. Pour en savoir plus, consultez la documentation de vos outils.
  • Autorisations Looker : vous devez disposer de l'autorisation Looker develop pour tous les modèles que vous souhaitez modifier.
  • Instance Looker : votre instance doit exécuter Looker 26.6 ou version ultérieure.
  • Configuration du projet : vous devez disposer d'un projet dans Looker (configuré en tant que dépôt nu ou configuré pour Git).
  • Installation de Git (facultatif) : si vous prévoyez de cloner votre dépôt LookML, vous devez avoir installé Git sur votre machine locale.
  • ID client OAuth : si vous utilisez l'authentification OAuth (recommandée), vous devez obtenir un ID client OAuth auprès de votre administrateur Looker.

Configuration par l'administrateur

Si votre organisation utilise OAuth pour l'authentification, un administrateur Looker doit enregistrer l'extension Looker pour VS Code en tant que client OAuth dans l'interface utilisateur d'administration Looker.

Utilisez l'explorateur d'API Looker pour configurer l'intégration OAuth. Vous pouvez accéder à l'explorateur d'API à l'aide de l'une des méthodes suivantes :

APIs Explorer installé

Si l'explorateur d'API est déjà installé sur votre instance Looker, vous pouvez y accéder avec ce format d'URL :

LOOKER_INSTANCE_URL/extensions/marketplace_extension_api_explorer::api-explorer/

API Explorer non installé

Si votre instance Looker ne dispose pas de l'explorateur d'API, vous pouvez l'installer depuis Marketplace Looker. Pour savoir comment installer l'API Explorer, consultez la page Utiliser l'API Explorer.

Instance privée PSA

Si vous utilisez une instance de connexion privée Looker (Google Cloud Core) qui utilise l'accès aux services privés, le Marketplace Looker et APIs Explorer ne sont pas compatibles. Pour enregistrer un agent d'IA, vous devez appeler directement le point de terminaison de l'API oauth_client_apps. Si vous utilisez cette méthode, vous pouvez ignorer les étapes restantes de cette procédure APIs Explorer.

Voici un exemple de commande curl que vous pouvez utiliser avec le point de terminaison oauth_client_apps pour enregistrer l'agent.

curl -X POST "https://LOOKER_INSTANCE_URL/api/4.0/oauth_client_apps/CLIENT_GUID" \
-H "Authorization: token ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "redirect_uri": "REDIRECT_URI",
  "display_name": "CLIENT_NAME",
  "description": "OAuth client to access MCP server using CLIENT_NAME",
  "enabled": true
}'

Pour enregistrer l'extension, procédez comme suit :

  1. Suivez les instructions de la documentation Enregistrer une application cliente OAuth pour enregistrer l'extension.
  2. Pour le champ client_guid, procédez comme suit :

    • Utilisez n'importe quel ID unique au niveau mondial.
    • Préparez-vous à distribuer l'ID à tous les développeurs LookML qui souhaitent utiliser l'extension.
  3. Pour redirect_uri, saisissez l'URL de rappel de votre IDE. Selon votre IDE ou votre outil de programmation, utilisez l'une des URL de rappel suivantes :

    IDE ou outil URL de rappel
    IDE Antigravity (disponible dans Looker 26.12 ou version ultérieure)
    antigravity-ide://google.vscode-looker-official/oauth_callback
    Code-OSS
    code-oss://google.vscode-looker-official/oauth_callback
    Cursor
    cursor://google.vscode-looker-official/oauth_callback
    HTTPS
    https://google.vscode-looker-official/oauth_callback
    Kiro (la compatibilité OAuth pour Kiro est disponible dans Looker 26.16 ou version ultérieure)
    kiro://google.vscode-looker-official/oauth_callback
    Looker
    looker://google.vscode-looker-official/oauth_callback
    VS Code
    vscode://google.vscode-looker-official/oauth_callback
    Windsurf
    windsurf://google.vscode-looker-official/oauth_callback
  4. Assurez-vous que le champ Activé est défini sur true.

  5. Renseignez les champs display_name et description comme décrit dans la documentation Enregistrer une application cliente OAuth.

Une fois l'application enregistrée, l'API Explorer renvoie une réponse avec un récapitulatif de l'enregistrement. Assurez-vous que l'URI de redirection correspond à ce que vous avez saisi dans le paramètre de requête. Vous pouvez utiliser le point de terminaison Get OAuth Client App avec la valeur client_guid pour consulter les détails de votre enregistrement.

Fournissez la valeur client_guid générée à vos développeurs. Ils l'utiliseront lors de la configuration de l'extension.

Installer l'extension

L'extension est disponible sur les deux principales plates-formes d'extensions :

Pour installer l'extension, procédez comme suit :

  1. Ouvrez votre IDE, tel que VS Code ou Cursor.
  2. Cliquez sur l'icône Extensions dans la barre d'activité.
  3. Recherchez Looker by Google Cloud, puis cliquez sur Install (Installer).
  4. Une fois l'extension installée, l'icône Looker s'affiche dans la barre d'activité.

Configurer l'extension

Pour configurer l'extension avec les détails de votre instance Looker, exécutez la procédure d'intégration interactive :

  1. Ouvrez la palette de commandes (Cmd+Maj+P sur macOS ou Ctrl+Maj+P sur Windows/Linux) lorsqu'un espace de travail est ouvert.
  2. Exécutez la commande Looker : Afficher le tutoriel d'intégration pour ouvrir le tutoriel d'intégration.
  3. Suivez les instructions du tutoriel pour saisir l'URL de votre instance Looker, l'ID du projet et les informations d'authentification. Si vous utilisez un dépôt nu, vous serez également invité à remplir votre espace de travail avec les fichiers LookML du projet au cours de ce processus.

Le flux d'authentification OAuth 2.1 est recommandé. Lorsque vous y êtes invité lors de la procédure d'intégration, sélectionnez OAuth et fournissez les valeurs de configuration suivantes :

  • URL de l'instance Looker : URL de votre instance Looker.
  • ID client OAuth : ID client OAuth (client_guid) que vous recevez de votre administrateur Looker.
  • ID du projet : nom du projet LookML que vous souhaitez modifier. Pour le trouver, ouvrez la page Projets LookML dans votre instance Looker. L'ID du projet se trouve dans la colonne Projet.

S'authentifier avec des identifiants API

Si vous préférez utiliser des clés API Looker, suivez la documentation pour créer des identifiants API. Lorsque vous y êtes invité lors de la procédure d'intégration, choisissez les identifiants API et fournissez les valeurs de configuration suivantes :

  • URL de l'instance Looker : URL de votre instance Looker.
  • ID client et code secret du client : ID client et code secret du client pour les identifiants API que vous utilisez pour l'authentification. Pour trouver ces identifiants, ouvrez la page Compte dans votre instance Looker, puis cliquez sur le bouton Gérer dans la section Clés API pour afficher vos ID et secrets client.
  • ID du projet : nom du projet que vous souhaitez modifier. Pour trouver le nom du projet, ouvrez la page Projets LookML dans votre instance Looker. L'ID du projet se trouve dans la colonne Projet.

Paramètres

Bien qu'il soit recommandé d'utiliser le guide d'intégration, vous pouvez également configurer les paramètres de l'extension dans votre fichier settings.json VS Code. Ce fichier se trouve dans le dossier .vscode de votre espace de travail (.vscode/settings.json) ou dans votre fichier de paramètres utilisateur global (settings.json). Vous pouvez également les configurer à l'aide de l'éditeur visuel des paramètres VS Code (Préférences : Ouvrir les paramètres (UI)).

Toutes les propriétés looker.<setting> doivent être définies dans les fichiers settings.json VS Code, y compris le paramètre d'extension MCP looker.mcpServerUrl. Définir ces paramètres dans le fichier de configuration MCP d'un agent d'IA (tel que .agents/mcp_config.json) ou dans d'autres fichiers de paramètres ne fonctionnera pas avec l'extension.

Vous pouvez configurer les paramètres d'extension suivants dans settings.json :

Paramètre Description Par défaut
looker.instanceURL URL de base de l'instance Looker (par exemple, https://mycompany.looker.com). -
looker.authURL URL à utiliser pour l'authentification OAuth. Ne définissez cette valeur que si elle est différente de l'URL de votre instance. looker.instanceURL
looker.sdkURL URL à utiliser pour les requêtes d'API. Ne définissez cette valeur que si elle est différente de l'URL de votre instance. looker.instanceURL
looker.oauthClientId ID client OAuth Looker. Obligatoire pour OAuth. -
looker.clientId ID client de l'API Looker. Obligatoire pour l'authentification par clé API. -
looker.clientSecret Code secret du client de l'API Looker. Obsolète. Utilisez la procédure d'intégration pour configurer les identifiants API. -
looker.projectId ID du projet LookML. -
looker.mcpServerUrl URL du serveur MCP cible vers lequel le proxy MCP local de l'extension transfère les requêtes. Défini uniquement s'il est différent de looker.instanceURL/mcp (par exemple, http://localhost:5000/mcp). looker.instanceURL/mcp
looker.acceptSelfSignedCertificates Ignorer les erreurs de certificat SSL (par exemple, pour les certificats auto-signés). Avertissement : Nous vous déconseillons d'activer cette option. false
looker.askBeforeOverwritingRemote Demande toujours avant d'écraser des fichiers distants lorsqu'un conflit est détecté. false

Configurer votre client MCP

Pour permettre à votre agent d'IA d'interagir avec Looker via l'extension, vous devez configurer votre agent pour qu'il se connecte au proxy MCP local de l'extension à l'adresse http://127.0.0.1:5050/mcp.

Votre agent d'IA fait référence à son propre fichier de configuration MCP (par exemple, .agents/mcp_config.json dans VS Code, .mcp.json dans Claude Code ou .cursor/mcp.json dans Cursor). En pointant cette configuration vers le proxy local, l'extension peut capturer les requêtes MCP de votre agent et les transférer avec les en-têtes d'authentification appropriés.

Serveur MCP géré par Looker (par défaut et recommandé)

L'extension exécute un proxy inverse local (par défaut : http://127.0.0.1:5050/mcp) qui se connecte au serveur MCP géré intégré de Looker (LOOKER_INSTANCE_URL/mcp). Le proxy injecte automatiquement des jetons porteurs OAuth et met en mémoire tampon les requêtes d'outils d'agent d'IA jusqu'à ce que les synchronisations de fichiers locaux en attente soient terminées. Cela garantit que les outils de validation n'évaluent jamais le code obsolète sur le serveur.

Serveur MCP personnalisé ou auto-hébergé (facultatif)

Si votre organisation héberge un serveur MCP personnalisé (tel que MCP Toolbox for Databases autonome) :

  1. Dans les paramètres de VS Code, définissez looker.mcpServerUrl sur l'URL de votre serveur personnalisé (par exemple, http://localhost:5000/mcp).
  2. Configurez le client MCP de votre IDE pour qu'il pointe vers le proxy d'extension à l'adresse http://127.0.0.1:5050/mcp.

Visual Studio Code (Copilot)

  1. Ouvrez VS Code et créez le répertoire .agents à la racine de votre projet, s'il n'existe pas déjà.
  2. Créez le fichier .agents/mcp_config.json s'il n'existe pas encore, puis ouvrez-le.
  3. Ajoutez la configuration suivante et enregistrez le fichier :
      {
        "mcpServers": {
          "Looker": {
            "serverUrl": "http://127.0.0.1:5050/mcp",
            "disabledTools": [
              "query_url",
              "get_looks",
              "run_look",
              "make_look",
              "get_dashboards",
              "run_dashboard",
              "make_dashboard",
              "add_dashboard_element",
              "add_dashboard_filter",
              "generate_embed_url",
              "health_pulse",
              "health_analyze",
              "health_vacuum",
              "get_project_files",
              "get_project_file",
              "create_project_file",
              "update_project_file",
              "delete_project_file",
              "get_project_directories",
              "create_project_directory",
              "delete_project_directory",
              "project_git_branch"
            ]
          }
        }
      }
  

Claude Code

  1. Créez le fichier .mcp.json à la racine de votre projet, s'il n'existe pas déjà.
  2. Ajoutez la configuration suivante et enregistrez le fichier :
      {
        "mcpServers": {
          "Looker": {
            "type": "http",
            "url": "http://127.0.0.1:5050/mcp"
          }
        }
      }
  

Cursor

  1. Créez le répertoire .cursor à la racine de votre projet, s'il n'existe pas déjà.
  2. Créez le fichier .cursor/mcp.json s'il n'existe pas encore, puis ouvrez-le.
  3. Ajoutez la configuration suivante et enregistrez le fichier :
      {
        "mcpServers": {
          "Looker": {
            "type": "http",
            "url": "http://127.0.0.1:5050/mcp"
          }
        }
      }
  
  1. Ouvrez Cursor, puis accédez à Settings > Cursor Settings > MCP (Paramètres > Paramètres du curseur > MCP). Un état actif vert s'affiche lorsque le serveur se connecte.

Cline

  1. Ouvrez l'extension Cline dans VS Code, puis cliquez sur l'icône Serveurs MCP.
  2. Cliquez sur Configurer les serveurs MCP pour ouvrir le fichier de configuration.
  3. Ajoutez la configuration suivante et enregistrez le fichier :
      {
        "mcpServers": {
          "Looker": {
            "type": "http",
            "url": "http://127.0.0.1:5050/mcp"
          }
        }
      }
  

Windsurf

  1. Ouvrez Windsurf et accédez à l'assistant Cascade.
  2. Cliquez sur l'icône MCP, puis sur Configurer pour ouvrir le fichier de configuration.
  3. Ajoutez la configuration suivante et enregistrez le fichier :
      {
        "mcpServers": {
          "Looker": {
            "type": "http",
            "url": "http://127.0.0.1:5050/mcp"
          }
        }
      }
  

S'authentifier via Looker

Si vous utilisez l'authentification OAuth, vous devez vous connecter pour associer votre IDE local à votre compte Looker.

  1. Ouvrez la palette de commandes.
  2. Exécutez la commande Looker: Sign In (OAuth).
  3. Confirmez l'invite pour ouvrir votre navigateur.
  4. Dans le navigateur, autorisez l'extension à accéder à votre compte Looker.
  5. Une fois l'autorisation accordée, le navigateur vous redirige vers votre IDE. La notification Connexion à Looker réussie ! devrait s'afficher.

Remplir votre projet LookML local

Pour commencer le développement, ouvrez votre projet LookML dans votre IDE local en utilisant la méthode appropriée pour la configuration de votre dépôt :

Dépôt Git

Si votre projet LookML est configuré pour Git, procédez comme suit :

  1. Dans VS Code, ouvrez une nouvelle fenêtre.
  2. Ouvrez la palette de commandes et sélectionnez Git : Cloner.
  3. Saisissez l'URL de votre dépôt Git distant (par exemple, depuis GitHub ou GitLab) et choisissez un dossier local.
  4. Ouvrez le dossier cloné dans votre IDE.

Mode dépôt nu

Si votre projet LookML est configuré en tant que dépôt vide, procédez comme suit :

  1. Une fois l'espace de travail ouvert, créez et ouvrez un dossier local vide pour votre projet.
  2. Ouvrez la palette de commandes (Commande+Maj+P sous macOS ou Ctrl+Maj+P sous Windows/Linux).
  3. Exécutez la commande Looker : Afficher le tutoriel d'intégration pour ouvrir le tutoriel d'intégration.
  4. À l'étape Sélectionner un projet, sélectionnez le projet LookML sur lequel vous souhaitez travailler, puis cliquez sur Suivant.
  5. L'extension reconnaît que votre dossier local est vide et vous invite à remplir l'espace de travail avec les fichiers du projet. Cliquez sur Remplir l'espace de travail pour remplir l'espace de travail.
  6. Suivez le tutoriel d'intégration.

Une fois l'espace de travail rempli, l'extension commence automatiquement à synchroniser votre dossier local avec votre branche extraite dans le mode Développement de votre instance Looker.

Dépannage

Vous pouvez afficher les journaux d'extension dans le panneau Output (Sortie) de votre IDE. Sélectionnez le canal Looker pour afficher les journaux. Pour obtenir des journaux plus détaillés, ouvrez la palette de commandes, exécutez la commande Developer: Set Log Level (Développeur : Définir le niveau de journalisation), puis sélectionnez Debug (Débogage) ou Trace (Trace).

  • Erreurs d'authentification : vérifiez que vos looker.instanceURL et looker.oauthClientId sont corrects. Assurez-vous que l'URI de redirection dans Looker correspond exactement.
  • Problèmes de synchronisation : consultez les journaux d'extension pour résoudre les problèmes de synchronisation. Pour afficher les journaux, ouvrez le panneau Output (Sortie) et sélectionnez Looker dans le menu déroulant.
  • Réponse "Bad Request" (Requête incorrecte) lors de l'authentification OAuth : assurez-vous que votre instance Looker est accessible depuis votre réseau local et que vous disposez d'une connexion Internet valide.

Si vous rencontrez des problèmes avec l'extension, l'exécution de la commande Développeur : Recharger la fenêtre à partir de la palette de commandes peut vous aider à les résoudre.

Étapes suivantes