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 Code :

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

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

  • recevoir 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 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. Découvrez comment configurer la personnalisation du code.

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

Avant de commencer

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

  2. 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.

  3. Si vous préférez utiliser votre IDE derrière un proxy, consultez Connexions réseau dans Visual Studio Code.

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 Gemini pour Google Cloud activée dans votre IDE.

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 Activer l'API dans le pour activer l'API pour votre projet. Pour en savoir plus, consultez la section Configurer Gemini Code Assist pour un projet.

Si vous préférez suivre le Code avec Gemini Code Assist directement dans votre IDE, cliquez sur Launch VS Code (Lancer VS Code) et suivez les étapes dans le 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 Ouvrir.

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

  5. Lorsque vous êtes invité à indiquer si vous avez téléchargé Cloud Code depuis Google, cliquez sur Se connecter.

    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 de Gemini est disponible.

  2. Dans le menu Gemini Code Assist, sélectionnez Sélectionner Gemini Code projet.

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

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

  2. Dans la barre d'activité IDE, cliquez sur spark 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 expliquant votre code.

    Pour faire référence à un bloc de code spécifique au lieu de l'ensemble du code du fichier, vous pouvez sélectionner le bloc dans votre fichier de code, puis demander à Gemini.

Réinitialiser l'historique des discussions

Gemini Code Assist utilise l'historique des discussions pour fournir plus de contexte lorsque vous répondez à vos requêtes.

Si l'historique de vos discussions n'est plus pertinent pour 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 requêtes

Les sections suivantes vous expliquent comment utiliser Gemini Code Assist pour : effectuer des transformations de code telles que function to create a Cloud Storage bucket à l'aide de la barre de sélection rapide ;

La transformation du code vous permet d'utiliser des commandes ou des requêtes en langage naturel dans la barre de sélection rapide pour demander des modifications de votre code et vous fournit un affichage des différences pour afficher les modifications en attente de votre code.

Vous pouvez également sélectionner une partie de votre code, puis demander de l'aide à Gemini Code Assist via le volet Gemini Code Assist, et recevoir et accepter ou refuser des suggestions de code pendant que vous codez.

Demander à Gemini Code Assist de transformer votre code

  1. Dans votre fichier de code, sur une nouvelle ligne, appuyez sur Ctrl+I (pour Windows et Linux) ou sur Cmd+I (pour macOS) pour ouvrir la barre Quick Pick de Gemini Code Assist.

  2. Dans le menu, à l'aide de la commande /generate, saisissez /generate function to create a Cloud Storage bucket, puis appuyez sur Entrée (pour Windows et Linux) ou Return (pour macOS).

    Gemini Code Assist génère du code avec la commande /generate.

    Gemini Code Assist génère le code en fonction de votre requête dans une vue diff.

    Gemini Code Assist ouvre une vue des différences pour afficher le code généré.

  3. Facultatif: Pour accepter ces modifications, cliquez sur Accepter.

Facultatif: Inviter Gemini Code Assist dans un fichier de code avec un commentaire

Si vous préférez, vous pouvez également lancer une requête à Gemini Code Assist dans votre avec un commentaire. Pour ce faire, procédez comme suit:

  1. 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 modifier le raccourci clavier en suivant ces étapes:

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

  2. Faites défiler la liste des raccourcis clavier jusqu'à Cloud Code: Générer le code

  3. Cliquez sur Cloud Code : générer du code, puis sur edit 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 maintenant 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 section 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 générer un code basé sur un 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 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. 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 tester cette fonctionnalité, 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 forme de texte fantôme.

  2. Pour accepter la suggestion de code de Gemini Code Assist, appuyez sur Tab. Sinon, pour ignorer la suggestion, appuyez sur Esc ou continuer à écrire votre code.

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

Si vous préférez désactiver les suggestions intégrées dans l'assistance de code Gemini, procédez comme suit :

  1. Dans votre IDE, sélectionnez Code (pour macOS) ou File (Fichier) (pour Windows et Linux), puis accédez à Settings (Paramètres) > Settings (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 toujours appuyer sur Ctrl+Entrée (pour Windows et Linux) ou Ctrl+Retour (pour macOS) pour déclencher manuellement les suggestions intégrées.

Utiliser la solution rapide de transformation du code

Si votre code comporte une erreur, Gemini Code Assist vous donne la possibilité d'appliquer une correction rapide à l'erreur avec transformation du code.

Pour appliquer une solution rapide dans votre fichier de code, procédez comme suit:

  1. Dans votre fichier de code, pointez sur la ligne d'erreur ondulée et sélectionnez Correction rapide, puis sélectionnez /fix.

    Correction rapide de la transformation de code dans l'IDE

  2. Lorsque la correction rapide est appliquée, une vue des différences s'affiche. Pour accepter ces modifications, cliquez sur Accepter.

Exécuter des requêtes avec des fichiers spécifiques dans votre espace de travail en tenant compte 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 en savoir plus sur les différences entre deux fichiers dans votre codebase, procédez comme suit : procédez comme suit:

  1. Dans la barre des tâches, cliquez sur spark 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 requêtes dans le même historique de chat, sans avoir à spécifier le des fichiers.

Par exemple : dans le volet Assistance de code Gemini, saisissez l'invite How can I improve YOUR_FILE_NAME_1? (sans le symbole @) et appuyez sur Entrée (pour Windows et Linux) ou sur Retour (pour macOS).

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

Facultatif: Exclure des fichiers du contexte à l'aide d'un fichier .aiexcluded

Vous pouvez empêcher Gemini Code Assist d'examiner des fichiers pour obtenir du contexte en créant un fichier .aiexclude. Un fichier .aiexclude suit 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, où vous ajoutez un point d'exclamation (!) au début des formats.
  • Un fichier .aiexclude fait référence au caractère *. Cela va correspondre sans discernement sur les répertoires et les fichiers. Ce fichier .aiexclude ne fait pas la distinction entre ** et * pour les dossiers ou les fichiers.

Un seul fichier .aiexclude est actuellement pris en charge. Pour configurer votre fichier .aiexclude, créez un fichier intitulé .aiexclude dans 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 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 au niveau du répertoire de l'espace de travail ou en dessous :

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

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

    /apikeys.txt
    
  • Bloquez tous les fichiers du répertoire my/sensitive/dir et tous les 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 éviter que le code correspondant aux sources citées ne soit suggéré, vous pouvez modifier le paramètre cloudcode.duetAI.recitation.maxCitedLength sur 0 dans une 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 en forme d'ampoule des actions intelligentes s'affiche après avoir sélectionné 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 les Section Générer du code avec des invites de cette , essayez quelques-uns 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 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 préférée avant d'interroger 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 section de code plus petite et incluez une directive supplémentaire dans l'invite de chat, par exemple only output the selected code..

Vim : impossible d'accepter ou d'ignorer les suggestions de génération de code en dehors du mode insertion

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

Pour contourner ce problème, appuyez sur i pour passer en mode insertion, puis sur Tabulation pour accepter la suggestion.

Vim : comportement incohérent lorsque vous appuyez sur Échap pour ignorer les suggestions

Lorsque vous appuyez sur Échap, les suggestions de l'IDE et de Gemini sont ignorées. Ce comportement est différent de celui Appuyez sur Esc pour déclencher de nouveau Gemini.

Les tentatives de connexion n'expirent pas

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

"cloudcode.beta.forceOobLogin": true

Les avertissements de récitation de la licence ne persistent pas entre les sessions

Si les avertissements concernant la récitation de licences ne persistent pas d'une session à l'autre, consultez les 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 constatez une erreur de connexion ou d'autres problèmes de connectivité dans le dans la fenêtre de sortie de Gemini Code Assist, essayez ce qui 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 » renvoie 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 obtenir plus de détails, exécutez la commande suivante avant grpc-health-probe:

export GRPC_GO_LOG_SEVERITY_LEVEL=info

"Activer Gemini Code Assist" s'affiche 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, ce qui inclut l'activation de 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 (Assistance au code Gemini), 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 Envoyer les journaux Skaffold ou Envoyer les journaux AI Companion.

  4. Cliquez sur Envoyer des commentaires.

Étape suivante