Coder avec Gemini Code Assist

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

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

  • Générer du code pour votre projet

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

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

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

La personnalisation du code vous permet d'obtenir des suggestions de code reposant sur le codebase privé de votre entreprise directement depuis Gemini Code Assist. Découvrez comment configurer la personnalisation du code.

Dans ce document, qui s'adresse aux développeurs de tous niveaux, Nous partons du principe que vous disposez de connaissances pratiques sur Cloud Workstations et que vous connaissez Google Cloud. Si vous préférez, vous pouvez également explorer Gemini Code Assist dans VS Code, IntelliJ et l'éditeur Cloud Shell.

Avant de commencer

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

    Accéder à IAM

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

  3. Avant de tester les fonctionnalités de Gemini Code Assist dans votre fichier de code, assurez-vous que le langage de programmation de votre fichier est compatible. Pour en savoir plus sur les langages de programmation compatibles, consultez Langages de programmation compatibles.

Se connecter à Google Cloud et sélectionner un projet

Dans cette section, vous allez vous connecter à Google Cloud et sélectionner un projetGoogle Cloud pour lequel l'API Gemini for Google Cloud est activée dans votre poste de travail.

Si vous sélectionnez un projet Google Cloud sans que l'API Gemini for Google Cloud soit activée, vous recevez une notification vous permettant d'activer l'API depuis l'IDE. Sélectionnez Activer l'API dans la fenêtre de notification pour activer l'API pour votre projet. Pour en savoir plus, consultez Configurer Gemini Code Assist pour un projet.

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

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

    Lancer la station de travail

  2. Dans la barre d'activité de votre poste de travail, cliquez sur spark Gemini Code Assist.

  3. Suivez les instructions pour vous connecter à Gemini Code Assist, si ce n'est pas déjà fait.

  4. Si vous êtes invité à autoriser Cloud Workstations à ouvrir le site Web externe, cliquez sur Ouvrir.

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

    Si vous êtes invité à vérifier que vous avez téléchargé cette application depuis Google, cliquez sur Se connecter.

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

  6. Copiez le code de validation et collez-le dans votre terminal à l'endroit où est indiqué Saisissez le code d'autorisation, puis appuyez sur Entrée (pour Windows et Linux) ou sur Retour (pour macOS).

    Vous êtes maintenant connecté à Google Cloud. Gemini est prêt à être utilisé.

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 des explications sur votre code.

Pour commencer à discuter avec Gemini :

  1. Ouvrez un fichier source.

  2. Dans la barre d'activité de votre poste de travail, cliquez sur spark Gemini Code Assist.

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

    Gemini utilise votre fichier comme contexte pour votre requête et vous fournit une explication de votre code.

    Pour vous concentrer sur un bloc de code spécifique, sélectionnez-le dans votre fichier ouvert avant de saisir votre requête.

Réinitialiser l'historique des chats

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

Si l'historique de vos discussions n'est plus pertinent par rapport à ce que vous essayez d'accomplir, vous pouvez le réinitialiser : dans le volet Gemini Code Assist, cliquez sur delete Réinitialiser la discussion.

Générer du code avec des prompts

Les sections suivantes vous montrent comment utiliser Gemini Code Assist pour générer du code avec l'exemple de prompt Function to create a Cloud Storage bucket dans un fichier. Vous pouvez aussi sélectionner une portion de votre code, puis solliciter l'aide de Gemini Code Assist via la fonctionnalité de chat. Ensuite, acceptez ou rejetez les suggestions de code proposées pendant que vous codez.

Envoyer un prompt à Gemini Code Assist dans un fichier

  1. Dans un fichier source, sur une nouvelle ligne, saisissez le commentaire Function to create a Cloud Storage bucket, puis appuyez sur Entrée (sous Windows et Linux) ou Retour (sous macOS).

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

    À côté du texte de votre prompt dans votre fichier, Gemini Code Assist génère le code sous la forme de texte fantôme.

  3. 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 du code ne fonctionne pas comme indiqué dans la section précédente, vous pouvez le modifier 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 : Générer du code.

  3. Cliquez sur Cloud Code : générer du code, puis sur edit Modifier les raccourcis 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 de créer pour générer du code avec Gemini.

Adresser un prompt à 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 du code généré à partir d'un prompt avec le code sélectionné, procédez comme suit :

  1. Dans la barre d'activité, cliquez sur spark Gemini Code Assist pour ouvrir le volet de chat Gemini Code Assist.

  2. Dans un fichier source, sélectionnez un bloc de code.

  3. Dans le champ de texte du chat Gemini Code Assist, saisissez un prompt pour le code sélectionné.

    Par exemple, sélectionnez une fonction dans votre code et saisissez le prompt Write a unit test for this function.

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

Obtenir des suggestions de code 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. Dans un fichier source, 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 forme de texte fantôme.

  2. Pour accepter la suggestion de code de Gemini Code Assist, appuyez sur Tabulation. Sinon, pour l'ignorer, 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 à File > Preferences > Settings (Fichier > Préférences > 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 section Cloudcode: Gemini Code Assist: Inline Suggestions: Enable Auto (Cloudcode : Gemini Code Assist : Suggestions intégrées : Activer automatiquement), puis sélectionnez Off (Désactivé).

    Cette action désactive les suggestions intégrées. Vous pouvez toutefois toujours appuyer sur Ctrl+Entrée (sous Windows et Linux) ou sur Ctrl+Retour (sous macOS) pour déclencher manuellement les suggestions intégrées.

Facultatif : Exclure des fichiers du contexte avec un fichier .aiexclude

Vous pouvez exclure des fichiers du contexte de Gemini Code Assist en créant un fichier .aiexclude. Un fichier .aiexclude suit une syntaxe semblable à celle d'un fichier .gitignore, à quelques différences près :

  • Un fichier .aiexclude vide ou inexistant ne bloque aucun fichier dans son répertoire et dans tous les sous-répertoires.
  • Un fichier .aiexclude n'est pas compatible avec la négation, qui consiste à faire précéder les modèles d'un point d'exclamation (!).
  • Un fichier .aiexclude correspond de manière gourmande au caractère *. Cette expression correspondra indifféremment aux répertoires et aux fichiers. Ce fichier .aiexclude ne fait pas la distinction entre ** et * en ce qui concerne les dossiers ou les fichiers.

Pour le moment, un seul fichier .aiexclude est accepté. Pour configurer votre fichier .aiexclude, créez un fichier intitulé .aiexclude à la racine de votre dossier d'espace de travail. Si vous souhaitez placer ce fichier en dehors de la racine de l'espace de travail ou le renommer, le chemin d'accès peut être défini dans les paramètres VS Code sous "Fichier d'exclusion du contexte". La valeur du chemin d'accès fournie dans ce paramètre sera résolue par rapport au dossier racine de votre espace de travail ouvert.

Exemples

Les exemples suivants montrent comment configurer un fichier .aiexclude :

  • Bloquez tous les fichiers nommés apikeys.txt dans le répertoire de l'espace de travail ou dans l'un de ses sous-répertoires :

    apikeys.txt
    
  • Bloquez tous les fichiers portant l'extension de fichier .key dans le répertoire de l'espace de travail ou dans l'un de ses sous-répertoires :

    *.key
    
  • Bloquez uniquement le fichier apikeys.txt dans le même répertoire que le fichier .aiexclude, mais pas les sous-répertoires :

    /apikeys.txt
    
  • Bloquez tous les fichiers du répertoire my/sensitive/dir et de tous ses sous-répertoires. Le chemin d'accès doit être relatif au répertoire racine de l'espace de travail.

    my/sensitive/dir/*
    

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

Gemini fournit des informations de citation lorsqu'il reprend directement et longuement une autre source, comme du code source accessible publiquement. Pour en savoir plus, consultez Comment et quand Gemini cite ses sources.

Pour éviter que du code correspondant aux sources citées ne vous soit suggéré, vous pouvez modifier le paramètre geminicodeassist.recitation.maxCitedLength en le définissant sur 0 dans un fichier settings.json :

"geminicodeassist.recitation.maxCitedLength": 0

Utiliser les actions intelligentes

Pour vous aider à être plus productif tout en réduisant au maximum les changements de contexte, Gemini Code Assist propose des actions intelligentes optimisées par l'IA, directement dans votre éditeur de code source. Lorsque vous sélectionnez du code dans votre éditeur, vous pouvez afficher une liste d'actions en rapport avec votre contexte et sélectionner l'action souhaitée.

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

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

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

    L'icône en forme d'ampoule des actions intelligentes s'affiche après la sélection d'un bloc de code dans Shell et Workstations.

  3. Sélectionnez une action, par exemple Générer des tests unitaires.

    Gemini génère une réponse en fonction de l'action que vous avez sélectionnée.

Utiliser la transformation du code

Gemini Code Assist propose la transformation de code, qui vous permet de sélectionner une partie du code dans un fichier et de demander des modifications à votre code existant à l'aide de requêtes en langage naturel, en utilisant une zone de texte intégrée.

La transformation de code vous permet d'effectuer les actions suivantes :

  • Générer des lignes de commentaires pour documenter votre code
  • Résoudre les problèmes liés au 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.

Écrire un prompt à 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 code.

Pour ouvrir le champ de texte intégré et envoyer un prompt à Gemini, procédez comme suit :

  1. Dans un fichier source, appuyez sur Ctrl+I (pour Windows et Linux) ou sur Cmd+I (pour macOS).

  2. Saisissez une requête, comme Write a function to create a Cloud Storage bucket, puis appuyez sur Entrée (pour Windows et Linux) ou sur Retour (pour macOS).

    À partir de votre prompt, Gemini Code Assist produit une suggestion de code.

Afficher la différence du code refactorisé

La vue Diff intégrée à la zone de texte en ligne vous permet de voir les modifications suggérées par Gemini et votre code d'origine. Vous pouvez ensuite accepter ou ignorer les modifications suggérées.

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

  1. Dans un fichier source, 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 requête, comme Add comments, puis appuyez sur Entrée (sous Windows et Linux) ou sur Retour (sous macOS).

    Lorsque Gemini génère les modifications de code pour la fonction sélectionnée, la vue diff s'affiche.

    Sources de contexte listées dans le volet Gemini : Chat.

  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 s'affichent chaque fois que vous utilisez Gemini Chat.

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 Sources de contexte. Développez l'extrait pour afficher toutes les sources de contexte.

Sources de contexte listées dans le volet Gemini : Chat.

Utiliser les 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é d'un fichier source avec la commande intelligente /explain, procédez comme suit :

  1. Dans un fichier, ouvrez la zone de texte intégrée en appuyant sur Ctrl+I (pour Windows et Linux) ou 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'ensemble du fichier 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 le chat.

Afficher l'historique des requêtes

Accéder à votre historique des requêtes vous fait gagner du temps lorsque vous souhaitez réutiliser des requêtes dans un fichier source volumineux.

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

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

Si votre langue maternelle n'est pas l'anglais et que vous faites appel à 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 ajouter des commentaires dans une autre langue, procédez comme suit :

  1. Dans un fichier source, 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 requête, comme Add spanish comments, puis appuyez sur Entrée (sous Windows et Linux) ou sur Retour (sous macOS).

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

  4. Pour accepter ou ignorer ces modifications apportées à votre code, cliquez sur Accepter ou Ignorer.

Tester d'autres exemples de requêtes

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

Obtenir une explication de code

  1. Dans un fichier source, sélectionnez une fonction pour laquelle vous souhaitez obtenir des explications.
  2. Dans le volet Gemini Code Assist, saisissez le prompt Explain this code to me.

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

Générer des plans de test

  1. Dans un fichier source, sélectionnez le code pour lequel vous souhaitez ajouter des tests unitaires.
  2. Dans le volet Gemini Code Assist, saisissez le prompt Write unit tests for my code.

Obtenir de l'aide pour déboguer du code

  1. Dans un fichier source, sélectionnez le code que vous souhaitez déboguer.
  2. Dans le volet Gemini Code Assist, saisissez le prompt Help me debug my code.

Améliorer la lisibilité de votre code

  1. Dans un fichier source, sélectionnez le code que vous souhaitez rendre plus lisible.
  2. Dans le volet Gemini Code Assist, saisissez le prompt 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'adresser un prompt à Gemini.

Problèmes connus

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

Les avertissements de récitation de licence 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 menu Menu > Affichage > Sortie.

  2. Sélectionnez Gemini Code Assist – Citations.

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

Si une erreur de connexion ou d'autres problèmes de connectivité s'affichent dans la fenêtre de sortie 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, qui est utilisé par gRPC.

Vous pouvez tester la connectivité à l'aide de l'outil grpc-health-probe. 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

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 fonctionne pas avec JetBrains Gateway. Par conséquent, Gemini Code Assist ne s'exécute pas sur les IDE Cloud Workstations qui nécessitent JetBrains Gateway pour se connecter.

Le message "Activer Gemini Code Assist" s'affiche toujours après la sélection d'un projet Gemini Code Assist

Si vous avez sélectionné votre projet en suivant les instructions de ce guide, qui incluent l'activation de l'API Gemini for Google Cloud, et que le message s'affiche quand même, il est possible qu'un problème affecte le serveur LS.

Pour en savoir plus sur ce problème, procédez comme suit :

  1. Dans la barre d'état, cliquez sur spark Gemini Code Assist, puis sélectionnez Envoyer des commentaires.

  2. Cliquez sur Afficher pour l'un des fichiers journaux afin d'obtenir plus d'informations et de résoudre le problème.

Laisser un commentaire

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

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

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

  3. Pour partager vos journaux Skaffold ou AI Companion, sélectionnez l'option Envoyer les journaux Skaffold ou Envoyer les journaux AI Companion.

  4. Cliquez sur Envoyer des commentaires.

Étapes suivantes