Coder avec Gemini Code Assist

Ce document explique comment utiliser Gemini Code Assist, un collaborateur optimisé par l'IA disponible dans Google Cloud, pour effectuer les opérations suivantes dans Cloud Code:

  • Fournir 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 le codage.

Découvrez comment et quand Gemini pour Google Cloud utilise vos données.

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

Ce document s'adresse aux développeurs de tous niveaux. 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. Installez l' extension Gemini Code Assist + Cloud Code si ce n'est pas déjà fait. Cloud Code s'intègre à Gemini Code Assist dans votre IDE.
  2. Facultatif: si vous choisissez de cloner un exemple pour les tâches de 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 sur 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 le tutoriel Code avec 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 Gemini Code Assist.

Lancer VS Code

Sinon, procédez comme suit:

  1. Lancez votre IDE.

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

    Cloud Code : bouton "Sign In" (Se connecter) 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'un message vous demandant si vous avez téléchargé Cloud Code depuis Google s'affiche, cliquez sur Sign In (Se connecter).

    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 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 à l'emploi.

    L'icône Gemini dans la barre d'état est réglée sur une valeur 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 Gemini Code Assist, vous pouvez ignorer cette section. Sinon, 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 Cmd+Maj+P (sous macOS), puis exécutez Cloud Code: New Application.

  2. Sélectionnez Application Kubernetes.

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

  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 Gemini Code Assist 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 de code existant. Si vous utilisez l'exemple Python (Flask), vous pouvez effectuer cette tâche dans votre fichier front.py: accédez à Explorateur > src > frontend, puis 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 Envoyer Envoyer.

    Gemini utilise le code de votre fichier de code comme référence à votre requête et répond en expliquant 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 lancer une requête Gemini.

Réinitialiser l'historique des discussions

Gemini Code Assist utilise l'historique des discussions pour obtenir plus de contexte lorsqu'il répond à vos requêtes.

Si l'historique des discussions n'est plus pertinent, vous pouvez le réinitialiser: dans le volet Gemini Code Assist, cliquez sur supprimer Réinitialiser le chat.

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

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

Saisir une requête Gemini Code Assist dans un fichier de code

  1. Créez un fichier de code ou utilisez un fichier de code existant. Si vous utilisez l'exemple Python (Flask), vous pouvez le faire dans le fichier front.py : accédez à Explorateur > src > frontend, puis 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 du 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 forme de texte fantôme.

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

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

Si le raccourci clavier par défaut permettant de générer du 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 File (Fichier) (pour Windows et Linux) ou sur Code (pour macOS), puis accédez à Settings > Keyboard Shortcuts (Paramètres > Raccourcis clavier).

  2. Dans la liste des raccourcis clavier, faites défiler la page jusqu'à Cloud Code : générer du code.

  3. Cliquez sur Cloud Code: Générer le code, puis sur Modifier 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 désormais utiliser le raccourci clavier que vous venez d'attribuer pour générer du code avec Gemini Code Assist.

Pour en savoir plus sur la modification des raccourcis dans votre IDE, consultez la page Raccourcis clavier pour Visual Studio Code.

Saisir le code sélectionné dans Gemini Code Assist dans une requête dans Chat

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

  1. Dans votre IDE, ouvrez un fichier de votre projet 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 requête 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

Lorsque 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 de code existant. Si vous utilisez l'exemple Python (Flask), vous pouvez le faire dans le fichier front.py : accédez à Explorateur > src > frontend, puis ouvrez le fichier front.py.

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

    Gemini suggère du code sous la forme de 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 poursuivez l'écriture de 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 File (Fichier) (pour Windows et Linux), puis accédez à Settings > Settings (Paramètres > Paramètres).

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

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

    Les suggestions intégrées sont alors désactivées. Vous pouvez toujours appuyer sur Ctrl+Entrée (pour Windows et Linux) ou sur Ctrl+Retour (sous 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'il cite directement une autre source, comme le 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 à gagner en productivité tout en limitant les changements de contexte, Gemini 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 et sélectionner une liste d'actions adaptées à votre contexte.

Pour utiliser des 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 sur le code.

    L'icône d'ampoule des actions intelligentes s'affiche lorsque vous sélectionnez un bloc de code dans VS Code.

  3. Sélectionnez une action, par exemple 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 d'invites suivants.

Obtenir une explication du code

  1. Dans votre fichier de code, sélectionnez une fonction pour laquelle vous souhaitez obtenir des explications.
  2. Dans le volet Gemini Code Assist, saisissez la requête 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 la requête 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 la requête 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 la requête Make my code more readable.

    Si vous préférez vous concentrer sur une partie spécifique de votre code, sélectionnez-la 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 aux discussions peuvent être tronquées lorsqu'elles incluent une version mise à jour d'un fichier ouvert volumineux

Pour contourner ce problème, sélectionnez une plus petite section de code et incluez une instruction supplémentaire dans la requête de chat, telle que only output the selected code.

Vim: impossible d'accepter ou de rejeter les suggestions de génération de code, sauf en mode Insertion

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

Pour contourner ce problème, appuyez sur i pour passer en mode d'insertion, puis sur Tabulation 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 ignorées. Ce comportement est différent du comportement non-Vim, où le fait d'appuyer sur Esc déclenche à nouveau Gemini.

Les tentatives de connexion n'expirent pas

Si vos tentatives de connexion n'expirent pas, essayez d'ajouter le paramètre cloudcode.beta.forceOobLogin à votre fichier settings.json:

"cloudcode.beta.forceOobLogin": true

Les avertissements concernant la récitation de licences ne persistent pas d'une session à l'autre

Si les avertissements de récitation de licence ne persistent pas d'une session à l'autre, consultez les journaux persistants:

  1. Cliquez sur View > Output (Affichage > Sortie).

  2. Sélectionnez Gemini Code Assist - Citations.

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

Si une erreur de connexion ou d'autres problèmes de connectivité s'affiche dans la fenêtre de résultat de Gemini 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é. Si la vérification réussit, le résultat suivant s'affiche:

$ 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

En cas d'échec de la vérification, le résultat suivant est renvoyé:

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 laisser des commentaires sur votre expérience, procédez comme suit:

  1. Dans la barre d'état, cliquez sur Gemini Code Assist, puis dans le menu Choix rapide, sélectionnez 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 Envoyer des journaux Skaffold ou Envoyer des journaux AI Companion.

  4. Cliquez sur Envoyer des commentaires.

Étapes suivantes