Coder avec Gemini Code Assist

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

  • 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 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 Utilisation de vos données par Gemini pour Google Cloud.

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 comment et quand 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 connaissez Cloud Workstations et que vous connaissez Google Cloud. Si vous préférez, vous pouvez également explorer Gemini Code Assist dans Cloud Code pour VS Code, Cloud Code pour IntelliJ et l'éditeur Cloud Shell.

Avant de commencer

  1. Assurez-vous de disposer du rôle IAM d'administrateur Cloud Workstations sur le projet pour pouvoir créer des configurations de stations de travail.

    Accéder à IAM

  2. Configurez votre station de travail si ce n'est pas déjà fait, et veillez à sélectionner Base Editor (Code-OSS) (Éditeur de base (Code-OSS)) dans la configuration.

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 sur votre poste de travail.

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.

Pour vous connecter à Google Cloud sur votre poste de travail, procédez comme suit:

  1. Dans la console Google Cloud, lancez votre station de travail.

    Lancer la station de travail

  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é à vous connecter, cliquez sur Se connecter.

  4. Pour lancer le flux de connexion Google Cloud, appuyez sur Ctrl (pour Windows et Linux) ou sur Commande (pour macOS), puis cliquez sur l'URL dans la console.

  5. Pour vous connecter à votre compte, suivez les instructions.

    Lorsque vous êtes invité à autoriser Google Cloud SDK à accéder à votre compte Google et à accepter les conditions, cliquez sur Allow (Autoriser).

    Un nouvel onglet s'ouvre dans votre navigateur et affiche votre code de validation pour vous connecter à la Google Cloud CLI.

  6. Copiez le code de vérification et collez-le dans votre terminal à l'endroit où le message Enter authorization code (Saisir le code d'autorisation) s'affiche. Appuyez ensuite sur Entrée (pour Windows et Linux) ou sur Retour (pour macOS).

    Vous êtes maintenant 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. Sur votre poste de travail, 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. Saisissez un nom pour votre exemple d'application, puis cliquez sur OK pour l'enregistrer.

    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 poste de travail, 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 invites

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. Sur votre poste de travail, cliquez sur menu Menu, puis accédez à Fichier > Préférences > Raccourcis clavier.

  2. Dans la liste des raccourcis clavier, recherchez Cloud Code: Generate Code (Cloud Code : Générer un 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.

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. Sur votre poste de travail, 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. Sur votre poste de travail, sélectionnez menu Menu, puis accédez à Fichier > Préférences > 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 Shell et dans les stations de travail.

  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.

Aperçu: Utiliser des transformations de code

Gemini Code Assist fournit des transformations de code, qui vous permettent de sélectionner une partie de votre fichier de code et de demander des modifications à votre code existant via des requêtes en langage naturel, à l'aide d'une zone de texte intégrée.

Les transformations de code vous permettent d'effectuer les opérations suivantes:

  • Générer des lignes de commentaire pour documenter votre code
  • Résoudre des problèmes de code
  • Améliorer la lisibilité du code
  • Rendre le code plus efficace

Vous pouvez également afficher les sources de contexte d'une réponse générée dans le volet Gemini : Chat.

Demander à Gemini Code Assist avec la zone de texte intégrée

La zone de texte intégrée vous permet d'interagir avec Gemini Code Assist directement dans votre fichier de code.

Pour ouvrir la zone de texte intégrée et l'invite Gemini, procédez comme suit:

  1. Dans votre fichier de code, appuyez sur Ctrl+I (pour Windows et Linux) ou sur Cmd+I (pour macOS).

  2. Saisissez une invite, telle que Write a function to create a Cloud Storage bucket, et appuyez sur Entrée (pour Windows et Linux) ou sur Retour (pour macOS).

    Gemini Code Assist génère le code en fonction de votre invite.

Afficher les différences du code refactorisé

L'affichage des différences intégré à la zone de texte intégrée vous permet de voir les modifications suggérées par Gemini, ainsi que votre code d'origine. Vous pouvez ensuite accepter ou ignorer les modifications suggérées.

Pour afficher les différences de code refactorisé à partir de la zone de texte intégrée, procédez comme suit:

  1. Dans votre fichier de code, sélectionnez une fonction et ouvrez la zone de texte intégrée en appuyant sur Ctrl+I (pour Windows et Linux) ou sur Cmd+I (pour macOS).

  2. Saisissez une invite, par exemple Add comments, puis appuyez sur Entrée (pour Windows et Linux) ou sur Retour (pour macOS).

    Lorsque Gemini génère le code modifié pour la fonction sélectionnée, la vue des différences s'affiche.

    Sources de contexte répertoriées dans le volet Chat de Gemini.

  3. Pour accepter ou supprimer les modifications, cliquez sur Accepter ou Supprimer.

Afficher les sources de contexte d'une réponse générée

La fonctionnalité d'affichage du contexte liste les fichiers de votre projet (les sources de contexte) qui ont été utilisés comme référence pour générer des réponses à vos requêtes. Savoir quels fichiers ont été utilisés comme références vous aide à affiner vos requêtes et à obtenir des réponses plus spécifiques. Les sources de contexte sont affichées chaque fois que vous utilisez le chat Genmini.

Pour afficher les sources de contexte de la réponse générée, faites défiler le volet Gemini: Chat jusqu'à ce que vous voyiez l'extrait Context Sources (Sources de contexte). Développez l'extrait pour afficher toutes les sources de contexte.

Sources de contexte répertoriées dans le volet Chat de Gemini.

Utiliser des commandes intelligentes

Les commandes intelligentes sont des commandes que vous pouvez utiliser dans la zone de texte intégrée pour effectuer des actions spécifiques sur votre code.

Pour obtenir une explication de l'intégralité de votre fichier de code avec la commande intelligente /explain, procédez comme suit:

  1. Dans votre fichier de code, ouvrez la zone de texte intégrée en appuyant sur Ctrl+I (pour Windows et Linux) ou sur Cmd+I (pour macOS).

  2. Appuyez sur / pour afficher la liste des commandes intelligentes et leur description.

  3. Sélectionnez /explain.

    Gemini génère une explication de l'intégralité du fichier de code dans la zone de texte intégrée.

  4. Facultatif: Si vous souhaitez afficher la réponse générée dans le volet Gemini: Chat, cliquez sur Afficher dans Chat.

Afficher l'historique des requêtes

L'accès à l'historique des requêtes vous permet de gagner du temps lorsque vous devez saisir les mêmes invites dans un fichier de code volumineux.

Pour accéder à l'historique des invites, dans votre fichier de code, ouvrez la zone de texte intégrée en appuyant sur Ctrl+I (pour Windows et Linux) ou sur Cmd+I (pour macOS), puis sur Ctrl+Flèche vers le haut (pour Windows et Linux) ou Commande+Flèche vers le haut (pour macOS). Cela vous permet de faire défiler vos anciennes invites et de les réutiliser si nécessaire.

Améliorer la lisibilité du code pour les anglophones non natifs

Si vous ne parlez pas anglais de langue maternelle qui nécessite des applications de traduction, vous pouvez utiliser la zone de texte intégrée pour générer des commentaires dans d'autres langues.

Pour convertir des commentaires en anglais dans une autre langue ou en ajouter dans une autre, procédez comme suit:

  1. Dans votre fichier de code, sélectionnez le code auquel vous souhaitez ajouter des commentaires.

  2. Ouvrez la zone de texte intégrée en appuyant sur Ctrl+I (pour Windows et Linux) ou sur Cmd+I (pour macOS).

  3. Saisissez une invite, par exemple Add spanish comments, puis appuyez sur Entrée (pour Windows et Linux) ou sur Retour (pour macOS).

    Gemini génère des commentaires dans la langue que vous avez spécifiée dans votre requête et affiche les différences de ces suggestions.

  4. Pour accepter ou supprimer les modifications apportées à votre code, cliquez sur Accepter ou Supprimer.

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 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 menu Menu > Affichage > Sortie.

  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

Gemini Code Assist et JetBrains Gateway

Gemini Code Assist ne s'exécute pas par JetBrains Gateway. Par conséquent, Gemini Code Assist ne s'exécute pas sur les IDE Cloud Workstations nécessitant la connexion à JetBrains Gateway.

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