Coder avec Gemini Code Assist

Ce document explique comment utiliser Gemini Code Assist, un collaborateur de Google Cloud basé sur l'IA, pour vous aider à effectuer les opérations suivantes dans Cloud Code:

  • Fournissez des conseils pour vous aider à résoudre les problèmes liés à votre code.

  • Générez du code pour votre projet.

  • Recevez des suggestions intégrées pendant que vous codez.

Gemini pour Google Cloud n'utilise pas vos requêtes ni ses réponses comme données pour entraîner ses modèles. Pour en savoir plus, consultez la section Comment Gemini pour Google Cloud utilise vos données.

Pour vous aider à respecter les exigences de licence de votre code, Gemini Code Assist fournit des citations de la source lorsque ses suggestions citent directement et longuement une source spécifique. Pour savoir quand et comment Gemini cite des sources, consultez la page Comment Gemini vous aide à générer du code et à cite les sources.

Ce document est destiné aux développeurs, quel que soit leur niveau de compétence. Nous partons du principe que vous avez une connaissance pratique de VS Code et que vous connaissez Google Cloud. Si vous préférez, vous pouvez également explorer Gemini Code Assist dans Cloud Workstations, Cloud Code pour IntelliJ et l'éditeur Cloud Shell.

Avant de commencer

  1. Si ce n'est pas déjà fait, installez l'extension Cloud Code. Cloud Code s'intègre à Gemini Code Assist dans votre IDE.
  2. Facultatif: Si vous choisissez de cloner un exemple pour les tâches présentées dans ce document, installez Git. Git est nécessaire pour copier des exemples sur votre ordinateur.

Se connecter à Google Cloud et sélectionner un projet

Dans cette section, vous allez vous connecter à Google Cloud et sélectionner un projet Google Cloud avec l'API Cloud AI Companion activée dans votre IDE.

Si vous sélectionnez un projet Google Cloud dans lequel l'API Cloud AI Companion n'est pas activée, vous recevez une notification d'erreur et vous êtes invité à contacter votre administrateur. Pour en savoir plus, consultez Configurer Gemini Code Assist pour un projet.

Si vous préférez suivre la procédure Code with Gemini Code Assist directement dans votre IDE, cliquez sur Launch VS Code (Lancer VS Code), puis suivez les étapes du tutoriel pour vous connecter à Google Cloud et activer Genmini Code Assist.

Lancer VS Code

Sinon, procédez comme suit:

  1. Lancez votre IDE.

  2. Dans la barre d'état, cliquez sur Cloud Code – Se connecter.

    Bouton "Sign In" (Se connecter) de Cloud Code dans la barre d'état.

  3. Lorsque vous êtes invité à autoriser Cloud Code à ouvrir le site Web externe, cliquez sur Open (Ouvrir).

  4. Suivez les instructions pour vous connecter à votre compte Google.

  5. Lorsqu'il vous est demandé si vous avez téléchargé Cloud Code depuis Google, cliquez sur Sign In (Connexion).

    Vous êtes désormais connecté à Google Cloud.

Ensuite, pour sélectionner un projet Google Cloud dans lequel l'API Cloud AI Companion est activée, procédez comme suit:

  1. Dans la barre d'état Gemini Code Assist, cliquez sur Gemini Code Assist.

    La barre d'état Gemini est disponible.

  2. Dans le menu Gemini Code Assist, sélectionnez Select Gemini Code Assist (Sélectionner un projet Gemini Code Assist).

  3. Sélectionnez un projet Google Cloud dans lequel l'API Cloud AI Companion est activée.

    Gemini est prêt à être utilisé.

    L'icône Gemini apparaît dans la barre d'état comme étant normale.

Pour tester les fonctionnalités de Gemini Code Assist, ouvrez une application ou créez un exemple d'application dans la section suivante.

Facultatif: Créer un exemple d'application

Si vous préférez utiliser une application existante pour tester les fonctionnalités de Genmini Code Assist, vous pouvez ignorer cette section. Pour créer un exemple d'application, procédez comme suit:

  1. Dans votre IDE, ouvrez la palette de commandes : appuyez sur Ctrl+Maj+P (pour Windows et Linux) ou sur Cmd+Maj+P (pour macOS), puis exécutez Cloud Code: New Application.

  2. Sélectionnez Kubernetes application (Application Kubernetes).

  3. Sélectionnez le modèle d'application Python (Flask): Livre d'or.

  4. Enregistrez la nouvelle application à l'emplacement de votre choix.

    Une notification confirme que votre application a été créée. Une nouvelle fenêtre s'ouvre avec votre application chargée.

Discuter avec Gemini Code Assist

Dans cette section, vous allez apprendre à ouvrir le volet Gemini Code Assist et à discuter avec cet outil pour obtenir une explication de votre code existant.

Pour commencer à discuter avec Gemini, procédez comme suit:

  1. Créez un fichier de code ou utilisez un fichier existant. Si vous utilisez l'exemple Python (Flask), vous pouvez effectuer cette tâche dans le fichier front.py: accédez à Explorateur > src > frontend et ouvrez le fichier front.py.

  2. Dans la barre d'activité de votre IDE, cliquez sur chat_spark Gemini Code Assist.

  3. Dans le volet Gemini Code Assist, saisissez l'invite Explain this code to me, puis cliquez sur send (Envoyer) Send (Envoyer).

    Gemini utilise le code de votre fichier de code comme référence à votre requête et répond avec une explication de votre code.

    Pour faire référence à un bloc de code spécifique plutôt qu'à l'ensemble du code du fichier, vous pouvez sélectionner le bloc dans votre fichier de code, puis envoyer une requête à Gemini.

Réinitialiser l'historique des discussions

Gemini Code Assist utilise l'historique des discussions pour vous fournir plus de contexte lorsqu'il répond à vos invites.

Si l'historique de vos discussions ne correspond plus à votre objectif, vous pouvez le réinitialiser: dans le volet Gemini Code Assist, cliquez sur delete Reset Chat (Supprimer la discussion).

Générer du code avec des requêtes

Les sections suivantes expliquent comment utiliser Gemini Code Assist pour générer du code avec l'exemple d'invite # Function to create a Cloud Storage bucket dans un fichier Python. Vous pouvez également sélectionner une partie de votre code, puis demander de l'aide à Gemini Code Assist via la fonctionnalité de chat, et recevoir et accepter ou refuser des suggestions de code pendant que vous codez.

Demander Gemini Code Assist dans un fichier de code

  1. Créez un fichier de code ou utilisez un fichier existant. Si vous utilisez l'exemple Python (Flask), vous pouvez le faire dans votre fichier front.py : accédez à Explorateur > src > frontend et ouvrez le fichier front.py.

  2. Dans votre fichier de code, sur une nouvelle ligne, saisissez # Function to create a Cloud Storage bucket, puis appuyez sur Entrée (pour Windows et Linux) ou sur Retour (pour macOS).

  3. Pour générer le code, appuyez sur Ctrl+Entrée (pour Windows et Linux) ou sur Ctrl+Retour (pour macOS).

    À côté du texte de la requête dans le fichier Python, Gemini Code Assist génère le code sous la forme d'un texte fantôme.

  4. Facultatif: Pour accepter le code généré, appuyez sur Tabulation.

Facultatif: Modifier le raccourci clavier pour générer du code

Si le raccourci clavier par défaut pour générer le code ne fonctionne pas comme indiqué dans la section précédente, vous pouvez modifier le raccourci clavier en procédant comme suit:

  1. Dans votre IDE, cliquez sur Fichier (pour Windows et Linux) ou sur Code (pour macOS), puis accédez à Paramètres > Raccourcis clavier.

  2. Dans la liste des raccourcis clavier, faites défiler la page jusqu'à Cloud Code: Generate code (Cloud Code : Générer le code).

  3. Cliquez sur Cloud Code: Generate Code (Cloud Code : générer un code), puis sur edit Change Keybinding (Modifier la liaison de clavier).

  4. Dans la boîte de dialogue qui s'affiche, saisissez votre propre raccourci.

  5. Appuyez sur Entrée (pour Windows et Linux) ou sur Retour (pour macOS).

    Vous pouvez maintenant utiliser le raccourci clavier qui vient d'être attribué pour générer du code avec Genmini Code Assist.

Pour en savoir plus sur la modification des raccourcis dans votre IDE, consultez la page Keybindings for Visual Studio Code.

Demander à Gemini Code Assist avec le code sélectionné à l'aide du chat

Gemini Code Assist peut effectuer des tâches ou répondre à vos questions en fonction du code que vous sélectionnez. Pour obtenir le code généré basé sur une invite avec le code sélectionné, procédez comme suit:

  1. Dans votre IDE, ouvrez un fichier contenant du code ou utilisez le même fichier de code que celui utilisé aux étapes précédentes.

  2. Dans la barre des activités, cliquez sur chat_spark Gemini Code Assist pour ouvrir le volet Gemini Code Assist.

  3. Dans votre fichier de code, sélectionnez un bloc de code.

  4. Dans le champ de texte du volet Gemini Code Assist, saisissez une invite pour le code sélectionné.

    Par exemple, sélectionnez une fonction dans votre code et saisissez l'invite Write a unit test for this function:

    Gemini écrit un test unitaire pour une fonction sélectionnée.

    Gemini utilise le code sélectionné comme référence et répond à votre requête.

Obtenez des suggestions intégrées pendant que vous codez

Pendant que vous écrivez du code, Gemini Code Assist propose des suggestions de code intégrées que vous pouvez accepter ou ignorer. Pour essayer cette fonctionnalité, procédez comme suit:

  1. Créez un fichier de code ou utilisez un fichier existant. Si vous utilisez l'exemple Python (Flask), vous pouvez le faire dans votre fichier front.py : accédez à Explorateur > src > frontend et ouvrez le fichier front.py.

  2. Dans votre fichier de code, sur une nouvelle ligne, commencez à écrire une fonction. Par exemple, si vous êtes dans un fichier Python, écrivez def.

    Gemini suggère du code sous la forme d'un texte fantôme.

  3. Pour accepter la suggestion de code de Gemini Code Assist, appuyez sur Tabulation. Sinon, pour ignorer la suggestion, appuyez sur Esc ou continuez à écrire votre code.

Facultatif: Désactiver les suggestions intégrées

Si vous préférez désactiver les suggestions intégrées dans Gemini Code Assist, procédez comme suit:

  1. Dans votre IDE, sélectionnez Code (pour macOS) ou Fichier (pour Windows et Linux), puis accédez à Settings > Settings (Paramètres > Paramètres).

  2. Dans l'onglet Utilisateur de la boîte de dialogue Paramètres, accédez à Extensions > Cloud Code.

  3. Faites défiler la page jusqu'à la liste Cloudcode: Gemini Code Assist: Inline Suggestions: Enable Auto, puis sélectionnez Off (Désactivé).

    Les suggestions intégrées sont désactivées. Vous pouvez toujours appuyer sur Ctrl+Entrée (pour Windows et Linux) ou sur Ctrl+Retour (pour macOS) pour déclencher manuellement des suggestions intégrées.

Désactiver les suggestions de code qui correspondent aux sources citées

Gemini fournit des informations sur les citations lorsqu'elles sont tirées directement d'une autre source, comme un code Open Source existant. Pour en savoir plus, consultez Comment et quand Gemini cite ses sources.

Pour empêcher la suggestion de code correspondant aux sources citées, vous pouvez définir le paramètre cloudcode.duetAI.recitation.maxCitedLength sur 0 dans un fichier settings.json:

"cloudcode.duetAI.recitation.maxCitedLength": 0

Utiliser les actions intelligentes

Pour vous aider à être plus productif tout en minimisant le changement de contexte, Genmini Code Assist propose des actions intelligentes basées sur l'IA directement dans votre éditeur de code. Lorsque vous sélectionnez votre code dans votre éditeur de code, vous pouvez afficher une liste d'actions pertinentes pour votre contexte et en sélectionner une dans la liste.

Pour utiliser les actions intelligentes dans votre code, procédez comme suit:

  1. Dans votre fichier de code, sélectionnez un bloc de code.

  2. À côté du bloc de code sélectionné, cliquez sur ampoule Afficher les actions de code.

    L'icône des actions intelligentes en forme d'ampoule s'affiche après que vous avez sélectionné un bloc de code dans VS Code.

  3. Sélectionnez une action, telle que Générer des tests unitaires.

    Gemini génère une réponse basée sur l'action que vous avez sélectionnée.

Tester d'autres exemples de requêtes

Après avoir lu la section Générer du code avec des invites de ce document, essayez certains des exemples de requêtes suivants.

Obtenir une explication sur le code

  1. Dans votre fichier de code, sélectionnez une fonction que vous souhaitez expliquer.
  2. Dans le volet Gemini Code Assist, saisissez l'invite Explain this code to me.

    Gemini utilise le code sélectionné comme référence et répond avec une explication de la fonction sélectionnée.

Générer des plans de test

  1. Dans votre fichier de code, sélectionnez le code pour lequel vous souhaitez ajouter des tests unitaires.
  2. Dans le volet Gemini Code Assist, saisissez l'invite Write unit tests for my code.

Obtenir de l'aide pour déboguer du code

  1. Dans votre fichier de code, sélectionnez le code que vous souhaitez déboguer.
  2. Dans le volet Gemini Code Assist, saisissez l'invite Help me debug my code.

Rendre votre code plus lisible

  1. Dans votre fichier de code, sélectionnez le code que vous souhaitez rendre plus lisible.
  2. Dans le volet Gemini Code Assist, saisissez l'invite Make my code more readable.

    Si vous préférez vous concentrer sur une partie spécifique de votre code, sélectionnez la partie de code à privilégier avant d'envoyer une requête à Gemini.

Problèmes connus

Les sections suivantes décrivent les problèmes connus de Gemini Code Assist.

Les réponses au chat peuvent être tronquées lorsqu'elles incluent la version mise à jour d'un fichier ouvert volumineux

Pour contourner ce problème, sélectionnez une section de code plus petite et incluez une instruction supplémentaire dans l'invite de chat, par exemple only output the selected code.

Vim: impossible d'accepter ou d'ignorer des suggestions de génération de code sauf en mode Insertion

Lorsque vous utilisez le plug-in Vim en mode normal, vous ne pouvez pas accepter ni ignorer les suggestions de code.

Pour contourner ce problème, appuyez sur i pour activer le mode d'insertion, puis sur Tab pour accepter la suggestion.

Vim: comportement incohérent lorsque l'utilisateur appuie sur Esc pour ignorer les suggestions

Lorsque vous appuyez sur Esc, les suggestions IntelliJ et Gemini sont toutes deux ignorées. Ce comportement est différent de celui sans Vim, où l'appui sur Esc déclenche à nouveau Gemini.

Les avertissements de demande de licence ne s'appliquent pas d'une session à l'autre

Si les avertissements de demande de licence ne persistent pas d'une session à l'autre, reportez-vous aux journaux persistants:

  1. Cliquez sur Affichage > Résultat.

  2. Sélectionnez Gemini Code Assist - Citations.

Problèmes de connectivité dans la fenêtre de sortie de Gemini Code Assist

Si vous voyez une erreur de connexion ou d'autres problèmes de connectivité dans la fenêtre de sortie de Genmini Code Assist, procédez comme suit:

  • Configurez votre pare-feu pour autoriser l'accès à oauth2.googleapis.com et cloudaicompanion.googleapis.com.

  • Configurez votre pare-feu pour autoriser la communication via HTTP/2, utilisé par gRPC.

Vous pouvez utiliser l'outil grpc-health-probe pour tester la connectivité. Une vérification réussie produit le résultat suivant:

$ grpc-health-probe -addr cloudaicompanion.googleapis.com:443 -tls error: this server does not implement the grpc health protocol (grpc.health.v1.Health): GRPC target method can't be resolved

Si la vérification échoue, le résultat suivant s'affiche:

timeout: failed to connect service "cloudaicompanion.googleapis.com:443" within 1s

Pour obtenir plus de détails, exécutez la commande suivante avant grpc-health-probe:

export GRPC_GO_LOG_SEVERITY_LEVEL=info

Laisser un commentaire

Pour nous faire part de vos commentaires sur votre expérience, procédez comme suit:

  1. Dans la barre d'état, cliquez sur Gemini Code Assist, puis dans le menu Quick Pick (Sélection rapide), sélectionnez Send feedback (Envoyer des commentaires).

  2. Dans le formulaire, remplissez les champs Titre et Commentaires.

  3. Si vous souhaitez partager vos journaux Skaffold ou AI Companion, veillez à sélectionner l'option Send Skaffold logs (Envoyer des journaux Skaffold) ou Send AI Companion logs (Envoyer des journaux Skaffold).

  4. Cliquez sur Envoyer des commentaires.

Étapes suivantes