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 Cloud Shell :

  • 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 longuement une source spécifique. Pour en savoir plus sur la façon dont et lorsque Gemini cite ses sources, consultez Comment Gemini vous aide à générer du code et à cite ses sources

Personnalisation du code vous permet d'obtenir des suggestions de code basées sur le codebase privé de votre organisation directement depuis Gemini Code Assist. Apprendre comment configurer la personnalisation du code.

Ce document s'adresse aux développeurs de tous niveaux. Il suppose que vous maîtrisez l'éditeur Cloud Shell et que vous connaissez Google Cloud. Si vous préférez, vous pouvez aussi explorer Gemini Code Assist dans Cloud Workstations Cloud Code pour IntelliJ Cloud Code pour VS Code.

Se connecter à Google Cloud et sélectionner un projet

Dans cette section, vous allez vous connecter à Google Cloud et sélectionner Projet Google Cloud avec l'API Gemini pour Google Cloud activée dans l'éditeur Cloud Shell.

Si vous sélectionnez un projet Google Cloud sans Gemini pour l'API Google Cloud est activé, vous recevez une notification l'option permettant d'activer l'API depuis l'IDE. Sélectionnez Enable the API (Activer l'API) dans la fenêtre de notification pour activer l'API pour votre projet. Pour en savoir plus, consultez la section Configurer Gemini Code Assist pour un projet.

Pour vous connecter à Google Cloud l'éditeur Cloud Shell, procédez comme suit:

  1. Lancer l'éditeur Cloud Shell.

  2. Si vous utilisez l'ancien éditeur, cliquez sur Essayer le nouvel éditeur.

  3. Dans la barre d'état, cliquez sur Cloud Code - Sign In (Se connecter).

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

  4. Si vous êtes invité à autoriser l'éditeur Cloud Shell à effectuer des appels d'API Google Cloud, cliquez sur Autoriser.

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

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

Ensuite, pour sélectionner un projet Google Cloud contenant l'API Gemini pour Google Cloud, , 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 project (Sélectionner un projet Gemini Code).

  3. Sélectionnez un projet Google Cloud pour lequel l'API Gemini pour Google Cloud est activée.

    Gemini est prêt à l'emploi.

    L'icône Gemini dans la barre d'état est définie sur "Normal".

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. Ouvrez votre fichier de code.

  2. Dans la barre d'activité de l'éditeur Cloud Shell, cliquez sur étincelle Gemini Code Assist.

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

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

    Pour faire référence à un bloc de code spécifique au lieu de tout le code du fichier, vous sélectionnez le bloc dans votre fichier de code, puis demandez à Gemini.

Réinitialiser l'historique des discussions

Gemini Code Assist utilise l'historique de chat pour obtenir un contexte supplémentaire lorsqu'il répond à vos requêtes.

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

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

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

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

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

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

    À côté du texte de votre requête dans votre fichier de code, 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 la touche Tabulation.

Facultatif: Modifier le raccourci clavier pour générer le 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. Dans l'éditeur Cloud Shell, clic 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 modifier Modifier la combinaison de touches.

  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.

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 sélectionné. Pour générer un code basé sur un avec le code sélectionné, procédez comme suit:

  1. Dans la barre des tâches, cliquez sur étincelle. Gemini Code Assist pour ouvrir le volet Gemini Code Assist.

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

  3. 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é, suivez procédez comme suit:

  1. 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 de texte fantôme.

  2. Pour accepter la suggestion de code de Gemini Code Assist, appuyez sur Tab. Sinon, pour l'ignorer, appuyez sur Échap 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 l'éditeur Cloud Shell, sélectionner 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 l'écran jusqu'à Cloudcode: Gemini Code Assist: Suggestions intégrées: Activer. Auto, puis sélectionnez Désactivé.

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

Affichage d'une invite avec des fichiers spécifiques de votre espace de travail en fonction du codebase local

La prise en compte du codebase local vous aide à obtenir des suggestions de code de haute qualité qui sont syntaxiquement correctes et sémantiquement pertinentes dans le contexte plus large de votre codebase, lorsque vous spécifiez des fichiers que Gemini Code Assist utilisera comme contexte.

Pour spécifier des fichiers dans votre requête de chat, saisissez @ et sélectionnez les fichiers souhaitez spécifier.

Spécifiez des fichiers avec une prise en compte du codebase local.

Pour obtenir une explication sur les différences entre deux fichiers de votre codebase, procédez comme suit :

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

  2. Dans le volet Gemini Code Assist, saisissez l'invite Explain the difference between @YOUR_FILE_NAME_1 and @YOUR_FILE_NAME_2 et appuyez sur Entrée (pour Windows et Linux) ou Return (pour macOS) ou Tab. Vous pouvez cliquez également sur le nom du fichier dans la liste pour le sélectionner. Cliquez sur le nom du fichier pour l'ajouter au contexte de l'invite et l'ouvrir dans votre IDE.

    Gemini Code Assist répond à votre requête tout en utilisant les deux que vous avez spécifiés pour le contexte. Gemini Code Assist inclut les fichiers que vous avez spécifiés dans Sources de contexte.

Maintenant que vous avez défini ces fichiers, vous pouvez demander à ou de requêtes dans le même historique de chat, sans avoir à spécifier le des fichiers.

Par exemple: dans le volet Gemini Code Assist, saisissez la requête How can I improve YOUR_FILE_NAME_1? (sans le symbole @), puis appuyez sur Entrée (pour Windows et Linux) ou Retour (pour macOS).

Gemini Code Assist répond à votre demande concernant le fichier que vous avez spécifié dans votre requête.

Facultatif : exclure des fichiers du contexte à l'aide d'un fichier .aiexclude

Vous pouvez exclure des fichiers de l'analyse de contexte de Gemini Code Assist en créant un fichier .aiexclude. Un fichier .aiexclude suit l'élément une syntaxe semblable à celle d'un fichier .gitignore, avec les différences suivantes:

  • Un fichier .aiexclude vide ou inexistant ne bloque aucun fichier dans son répertoire et tous ses sous-répertoires.
  • Un fichier .aiexclude n'est pas compatible avec la négation, qui consiste à préfixer des formats avec d'un point d'exclamation (!).
  • Un fichier .aiexclude correspond de manière gourmande au caractère *. Cette correspondance s'applique indistinctement aux répertoires et aux fichiers. Ce fichier .aiexclude ne faire la différence entre ** et * en ce qui concerne les dossiers ou les fichiers.

Pour le moment, un seul fichier .aiexclude est accepté. Pour configurer votre .aiexclude, créez un fichier nommé .aiexclude à la racine de votre d'un dossier de l'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 de VS Code sous "Fichier d'exclusion de contexte". La valeur de chemin d'accès fournie dans ce paramètre résoudra par rapport au dossier racine de votre espace de travail ouvert.

Examples

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 sous celui-ci:

    apikeys.txt
    
  • Bloquer tous les fichiers portant l'extension .key dans l'espace de travail ou en dessous répertoire:

    *.key
    
  • Ne bloquez que 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 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 cite directement et longuement une autre source, comme du code Open Source existant. Pour plus 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 modifier le paramètre cloudcode.duetAI.recitation.maxCitedLength sur 0 dans un fichier settings.json :

"cloudcode.duetAI.recitation.maxCitedLength": 0

Utiliser des actions intelligentes

Pour gagner en productivité tout en limitant les changements de contexte, Gemini Code Assist propose directement des actions intelligentes basées sur l'IA dans votre éditeur de code. Lorsque vous sélectionnez votre code dans cet éditeur, vous pouvez afficher une liste d'actions en rapport avec votre contexte et sélectionner l'action souhaitée.

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 lightbulb Afficher les actions de code.

    L'icône d'ampoule des actions intelligentes s'affiche lorsque vous sélectionnez 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 basée sur l'action que vous avez sélectionnée.

Aperçu: Utiliser les 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 les problèmes liés au code
  • Améliorer la lisibilité du code
  • Rendre le code plus efficace

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

Lancer une requête 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 inviter 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, par exemple Write a function to create a Cloud Storage bucket, puis 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 requête.

Afficher la différence du code refactorisé

Avec l'affichage des différences intégrée dans la zone de texte intégrée, vous pouvez voir les modifications suggestions de Gemini et votre code d'origine. Vous pouvez ensuite accepter ou ignorer les modifications suggérées.

Pour afficher la différence entre le code refactorisé et le code d'origine dans 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 Cmd+I (pour macOS).

  2. Saisissez une requête, telle que Add comments, puis appuyez sur Entrée (pour Windows et Linux) ou Return (pour macOS).

    Quand Gemini génère les modifications de code la vue diff s'affiche.

    Sources de contexte répertorié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. Le fait de savoir ont été utilisés comme références, ce qui vous aide à affiner vos requêtes et à obtenir plus des réponses spécifiques. Les sources de contexte s'affichent chaque fois que vous utilisez discussion Gemini.

Pour afficher les sources de contexte de la réponse générée, dans le volet Gemini : Chat, faites défiler la page jusqu'à 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é de votre fichier de code avec la commande intelligente /explain, procédez comme suit :

  1. Dans votre fichier de code, appuyez sur Ctrl+I pour ouvrir la zone de texte intégrée. (pour Windows et Linux) ou sur Cmd+I (sous 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 chat Gemini: Chat cliquez sur Afficher dans Chat.

Afficher l'historique des requêtes

Accéder à l'historique des requêtes vous fait gagner du temps lorsque vous devez saisir la ou les mêmes requêtes dans un grand fichier de code.

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

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

Si vous ne parlez pas anglais couramment et que vous utilisez 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 les commentaires en anglais dans une autre langue ou ajouter de nouveaux commentaires dans une autre langue , 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 (sous Windows et Linux) ou Commande+I (sous 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 la différence entre ces suggestions.

  4. Pour accepter ou supprimer ces modifications de votre code, cliquez sur Accepter ou sur Supprimer.

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 certains des exemples de requêtes 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. 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 suivante : 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 partie de code de votre choix avant d'appeler 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 entre les sessions

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

  1. Cliquez sur le 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 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, utilisé par gRPC.

Vous pouvez utiliser l'outil grpc-health-probe pour tester la connectivité. Une campagne « check » génère 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

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 en savoir plus, exécutez la commande suivante avant grpc-health-probe :

export GRPC_GO_LOG_SEVERITY_LEVEL=info

"Activer Gemini Code Assist" apparaît toujours après avoir sélectionné le projet Gemini Code Assist

Si vous avez sélectionné votre projet conformément aux instructions de ce guide, y compris en activant l'API Gemini pour Google Cloud, il se peut qu'il y ait un problème avec le serveur LS.

Pour en savoir plus sur votre problème, effectuez les actions suivantes:

  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'afficher plus de détails et de résoudre le problème.

Laisser un commentaire

Pour donner votre avis sur votre expérience, procédez comme suit :

  1. Dans la barre d'état, cliquez sur Gemini Code Assist, puis dans la section Rapide Dans le menu de sélection, 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 les journaux Skaffold ou Envoyer les journaux AI Companion.

  4. Cliquez sur Envoyer des commentaires.

Étape suivante