Scrivi codice con Gemini Code Assist

Questo documento descrive come utilizzare Gemini Code Assist, un collaboratore basato sull'AI in Google Cloud, per svolgere le seguenti operazioni nell'editor di base di Cloud Workstations:

  • Fornisci indicazioni per aiutarti a risolvere i problemi relativi al codice.

  • Genera il codice per il tuo progetto.

  • Ricevi suggerimenti in linea durante la programmazione.

Gemini non utilizza i tuoi prompt o le sue risposte come dati per addestrare i suoi modelli. Per maggiori informazioni, consulta In che modo Gemini per Google Cloud utilizza i tuoi dati.

Per aiutarti a soddisfare i requisiti di licenza per il tuo codice, Gemini Code Assist fornisce citazioni di fonti quando i suoi suggerimenti citano direttamente e in dettaglio una fonte specifica. Per scoprire di più su come e quando Gemini cita le fonti, consulta In che modo Gemini ti aiuta a generare codice e cita le fonti.

Questo documento è destinato agli sviluppatori di tutti i livelli di competenza. Si presume che tu disponga di una buona conoscenza di Cloud Workstations e abbia familiarità con Google Cloud. Se preferisci, puoi anche esplorare Gemini Code Assist in Cloud Code for VS Code, Cloud Code for IntelliJ e Editor di Cloud Shell.

Prima di iniziare

  1. Assicurati di disporre del ruolo IAM Amministratore di Cloud Workstations nel progetto, in modo da poter creare configurazioni di workstation.

    Vai a IAM

  2. Configura la tua workstation, se non l'hai già fatto, e assicurati di selezionare Editor di base (OSS di codice) nella configurazione.

Connettiti a Google Cloud e seleziona un progetto

In questa sezione, ti connetterai a Google Cloud e selezionerai un progetto Google Cloud con l'API Cloud AI Companion abilitata nella tua workstation.

Se selezioni un progetto Google Cloud senza l'API Cloud AI Companion abilitata, riceverai una notifica di errore e ti verrà chiesto di contattare l'amministratore. Per maggiori informazioni, consulta Configurare Gemini Code Assist per un progetto.

Per connetterti a Google Cloud nella tua workstation, segui questi passaggi:

  1. Avvia la workstation nella console Google Cloud.

    Avvia la workstation

  2. Nella barra di stato, fai clic su Cloud Code - Sign In.

    Cloud Code - Pulsante Accedi nella barra di stato.

  3. Quando ti viene richiesto di accedere, fai clic su Procedi per accedere.

  4. Per avviare il flusso di accesso a Google Cloud, premi Ctrl (per Windows e Linux) o Comando (per macOS) e fai clic sull'URL nella console.

  5. Per accedere al tuo account, segui le istruzioni.

    Quando ti viene chiesto di consentire a Google Cloud SDK di accedere al tuo Account Google e accetti i termini, fai clic su Consenti.

    Nel browser si apre una nuova scheda che mostra il codice di verifica per accedere a Google Cloud CLI.

  6. Copia il codice di verifica e incollalo nel tuo terminale in corrispondenza di Inserisci codice di autorizzazione, quindi premi Invio (per Windows e Linux) o Invio (per macOS).

    È stata stabilita la connessione a Google Cloud.

Quindi, per selezionare un progetto Google Cloud in cui è abilitata l'API Cloud AI Companion, segui questi passaggi:

  1. Nella barra di stato di Gemini Code Assist, fai clic su Gemini Code Assist.

    La barra di stato Gemini è disponibile.

  2. Nel menu Gemini Code Assist, seleziona Seleziona progetto Gemini Code Assist.

  3. Seleziona un progetto Google Cloud in cui è abilitata l'API Cloud AI Companion.

    Gemini è pronto per l'uso.

    L'icona Gemini nella barra di stato è impostata su normale.

Per testare le funzionalità di Gemini Code Assist, apri un'applicazione o crea un'applicazione di esempio nella sezione successiva.

(Facoltativo) Crea un'applicazione di esempio

Se preferisci utilizzare un'applicazione esistente per testare le funzionalità di Gemini Code Assist, puoi saltare questa sezione. In caso contrario, per creare un'applicazione di esempio:

  1. Nella workstation, apri la tavolozza dei comandi: premi Ctrl+Shift+P (per Windows e Linux) o Comando+Shift+P (per macOS), quindi esegui Cloud Code: New Application.

  2. Seleziona Applicazione Kubernetes.

  3. Seleziona il modello di applicazione Python (Flask): Guestbook.

  4. Inserisci un nome per l'applicazione di esempio, quindi fai clic su OK per salvarla.

    Una notifica conferma che l'applicazione è stata creata e si apre una nuova finestra con l'applicazione caricata.

Chatta con Gemini Code Assist

In questa sezione imparerai ad aprire il riquadro Gemini Code Assist e a chattare con Gemini Code Assist per ricevere una spiegazione del tuo codice esistente.

Per iniziare a chattare con Gemini, segui questi passaggi:

  1. Crea un nuovo file di codice o utilizzane uno esistente. Se utilizzi l'esempio Python (Flask), puoi eseguire questa attività nel file front.py: vai a Explorer > src > frontend e apri il file front.py.

  2. Nella barra delle attività della workstation, fai clic su chat_spark Gemini Code Assist.

  3. Nel riquadro Gemini Code Assist, inserisci il prompt Explain this code to me e fai clic su Invia Invia.

    Gemini utilizza il codice nel file di codice come riferimento al prompt e risponde con una spiegazione del codice.

    Per fare riferimento a un blocco di codice specifico anziché a tutto il codice del file, puoi selezionare il blocco nel file di codice e quindi inviare una richiesta a Gemini.

Reimposta cronologia chat

Gemini Code Assist utilizza la cronologia chat per fornire un contesto aggiuntivo quando risponde ai tuoi prompt.

Se la tua cronologia chat non è più pertinente ai fini del tuo tentativo, puoi reimpostarla: nel riquadro Gemini Code Assist, fai clic su delete Reimposta chat.

Genera codice con prompt

Le sezioni seguenti mostrano come utilizzare Gemini Code Assist per generare codice con il prompt di esempio # Function to create a Cloud Storage bucket all'interno di un file Python. Puoi anche selezionare una parte del codice e chiedere a Gemini Code Assist di aiutarti con la funzionalità di chat e ricevere e accettare o rifiutare suggerimenti di codice durante la programmazione.

Prompt Gemini Code Assist in un file di codice

  1. Crea un nuovo file di codice o utilizzane uno esistente. Se utilizzi l'esempio Python (Flask), puoi farlo nel file front.py: vai a Explorer > src > frontend e apri il file front.py.

  2. Nel file di codice, inserisci # Function to create a Cloud Storage bucket in una nuova riga, quindi premi Invio (per Windows e Linux) o Invio (per macOS).

  3. Per generare il codice, premi Ctrl+Invio (per Windows e Linux) o Ctrl+Invio (per macOS).

    Accanto al testo del prompt nel file Python, Gemini Code Assist genera il codice sotto forma di testo fantasma.

  4. (Facoltativo) Per accettare il codice generato, premi Tab.

(Facoltativo) Modifica della scorciatoia da tastiera per la generazione del codice

Se la scorciatoia da tastiera predefinita per la generazione del codice non funziona come descritto nella sezione precedente, puoi modificarla seguendo questa procedura:

  1. Nella workstation, fai clic su menu Menu e vai a File > Preferenze > Scorciatoie da tastiera.

  2. Nell'elenco delle scorciatoie da tastiera, cerca Cloud Code: generate Code.

  3. Fai clic su Cloud Code: Generate Code (Cloud Code: genera codice), quindi fai clic su Modifica Modifica associazione di chiavi.

  4. Nella finestra di dialogo visualizzata, inserisci la tua scorciatoia.

  5. Premi Invio (per Windows e Linux) o Invio (per macOS).

    Ora puoi utilizzare la scorciatoia da tastiera appena assegnata per generare codice con Gemini.

Invia prompt a Gemini Code Assist con il codice selezionato utilizzando la chat

Gemini Code Assist può eseguire attività o rispondere alle tue domande in base al codice selezionato. Per ottenere il codice generato in base a una richiesta con il codice selezionato, segui questi passaggi:

  1. Nella workstation, apri un file del progetto contenente codice oppure utilizza lo stesso file di codice utilizzato nei passaggi precedenti.

  2. Nella barra delle attività, fai clic su chat_spark Gemini Code Assist per aprire il riquadro Gemini Code Assist.

  3. Seleziona un blocco di codice nel file di codice.

  4. Nel campo di testo del riquadro Gemini Code Assist, inserisci una richiesta per il codice selezionato.

    Ad esempio, seleziona una funzione nel codice e inserisci il prompt Write a unit test for this function:

    Gemini scrive un test delle unità per una funzione selezionata.

    Gemini usa il codice selezionato come riferimento e risponde al prompt.

Ricevi suggerimenti in linea durante la programmazione

Mentre scrivi il codice, Gemini Code Assist fornisce suggerimenti di codice in linea che puoi accettare o ignorare. Per provare questa funzionalità, segui questi passaggi:

  1. Crea un nuovo file di codice o utilizzane uno esistente. Se utilizzi l'esempio Python (Flask), puoi farlo nel file front.py: vai a Explorer > src > frontend e apri il file front.py.

  2. Nel file di codice, su una nuova riga, inizia a scrivere una funzione. Ad esempio, se ti trovi in un file Python, scrivi def.

    Gemini suggerisce il codice sotto forma di testo fantasma.

  3. Per accettare il suggerimento di codice di Gemini Code Assist, premi Tab. Altrimenti, per ignorare il suggerimento, premi Esc o continua a scrivere il codice.

(Facoltativo) Disattivare i suggerimenti in linea

Se preferisci disattivare i suggerimenti incorporati in Gemini Code Assist, segui questi passaggi:

  1. Nella workstation, seleziona il menu Menu, quindi vai a File > Preferenze > Impostazioni.

  2. Nella scheda Utente della finestra di dialogo Impostazioni, vai a Estensioni > Cloud Code.

  3. Scorri fino a trovare l'elenco Cloudcode: Gemini Code Assist: Inline Suggestions: Enable Auto, quindi seleziona Off.

    In questo modo i suggerimenti in linea vengono disattivati. Puoi comunque premere Ctrl+Invio (per Windows e Linux) o Ctrl+Invio (per macOS) per attivare manualmente i suggerimenti in linea.

Disattiva i suggerimenti di codice che corrispondono alle fonti citate

Gemini fornisce informazioni sulle citazioni quando cita direttamente un'altra fonte, come un codice open source. Per saperne di più, consulta Come e quando Gemini cita le fonti.

Per evitare che venga suggerito il codice che corrisponde alle origini citate, puoi modificare l'impostazione cloudcode.duetAI.recitation.maxCitedLength in 0 in un file settings.json:

"cloudcode.duetAI.recitation.maxCitedLength": 0

Utilizza le azioni intelligenti

Per aumentare la tua produttività riducendo al minimo il cambio di contesto, Gemini Code Assist offre azioni intelligenti basate sull'IA direttamente nell'editor di codice. Quando selezioni il codice nell'editor di codice, puoi visualizzare e selezionare da un elenco di azioni pertinenti al contesto.

Per utilizzare le azioni intelligenti nel codice:

  1. Seleziona un blocco di codice nel file di codice.

  2. Accanto al blocco di codice selezionato, fai clic su lampadina Mostra azioni codice.

    L'icona a forma di lampadina Azioni intelligenti viene visualizzata dopo la selezione di un blocco di codice in Shell e Workstations.

  3. Seleziona un'azione, ad esempio Genera test delle unità.

    Gemini genera una risposta basata sull'azione selezionata.

Anteprima: Usa le trasformazioni del codice

Gemini Code Assist fornisce Trasformazioni del codice, che consentono di selezionare una porzione del file di codice e richiedere modifiche al codice esistente tramite prompt in linguaggio naturale, utilizzando una casella di testo in linea.

Con Code Transformations, puoi fare quanto segue:

  • Genera righe di commento per documentare il codice
  • Risolvere i problemi relativi al codice
  • Migliora la leggibilità del codice
  • Rendere il codice più efficiente

Puoi anche visualizzare le origini contesto di una risposta generata nel riquadro Gemini: Chat.

Invia prompt a Gemini Code Assist con la casella di testo in linea

La casella di testo in linea ti consente di interagire con Gemini Code Assist direttamente nel tuo file di codice.

Per aprire la casella di testo in linea e richiedere Gemini, segui questi passaggi:

  1. Nel file di codice, premi Ctrl+I (per Windows e Linux) o Comando+I (per macOS).

  2. Inserisci un prompt, come Write a function to create a Cloud Storage bucket, e premi Invio (per Windows e Linux) o Invio (per macOS).

    Gemini Code Assist genera il codice in base al prompt.

Visualizza le differenze del codice refactoring

Con la visualizzazione delle differenze integrata nella casella di testo in linea, puoi vedere le modifiche suggerite da Gemini e il tuo codice originale. Puoi quindi accettare o annullare le modifiche suggerite.

Per visualizzare le differenze del codice sottoposto a refactoring dalla casella di testo in linea, segui questi passaggi:

  1. Nel file di codice, seleziona una funzione e apri la casella di testo in linea premendo Ctrl+I (per Windows e Linux) o Comando+I (per MacOS).

  2. Inserisci un prompt, ad esempio Add comments, e premi Invio (per Windows e Linux) o Invio (per macOS).

    Quando Gemini genera le modifiche al codice della funzione selezionata, appare la visualizzazione diff.

    Origini del contesto elencate nel riquadro Gemini: Chat.

  3. Per accettare o ignorare le modifiche, fai clic su Accetta o Annulla.

Visualizzare le origini di contesto di una risposta generata

La funzionalità di visualizzazione del contesto elenca i file di progetto (le origini contestuali) che sono stati utilizzati come riferimento per generare risposte ai tuoi prompt. Sapere quali file sono stati utilizzati come riferimenti ti aiuta a perfezionare i prompt e a ricevere risposte più specifiche. Le origini del contesto vengono mostrate ogni volta che usi la chat Gemini.

Per visualizzare le origini contesto della risposta generata, nel riquadro Gemini: Chat scorri fino a visualizzare lo snippet Origini di contesto. Espandi lo snippet per visualizzare tutte le origini di contesto.

Origini del contesto elencate nel riquadro Gemini: Chat.

Utilizzare i comandi intelligenti

I comandi intelligenti sono comandi che puoi utilizzare nella casella di testo in linea per eseguire azioni specifiche sul tuo codice.

Per ricevere una spiegazione dell'intero file di codice con il comando intelligente /explain, segui questi passaggi:

  1. Nel file di codice, apri la casella di testo incorporata premendo Ctrl+I (per Windows e Linux) o Comando+I (per macOS).

  2. Premi / per visualizzare l'elenco dei comandi intelligenti e le relative descrizioni.

  3. Seleziona /explain.

    Gemini genera una spiegazione dell'intero file di codice nella casella di testo in linea.

  4. (Facoltativo) Se vuoi visualizzare la risposta generata nel riquadro Gemini: Chat, fai clic su Visualizza in Chat.

Visualizzare la cronologia dei prompt

L'accesso alla cronologia dei prompt ti consente di risparmiare tempo quando devi inserire gli stessi prompt in un file di codice di grandi dimensioni.

Per accedere alla cronologia dei prompt, nel file di codice apri la casella di testo incorporata premendo Ctrl+I (per Windows e Linux) o Comando+I (per macOS), quindi premi Ctrl+Freccia su (per Windows e Linux) o Comando+Freccia su (per macOS). In questo modo puoi scorrere i prompt meno recenti e riutilizzarli quando necessario.

Migliora la leggibilità del codice per i non madrelingua inglese

Se non parli inglese e utilizzi applicazioni di traduzione, puoi utilizzare la casella di testo in linea per generare commenti in altre lingue.

Per convertire i commenti in inglese in un'altra lingua o aggiungere nuovi commenti in un'altra lingua, procedi nel seguente modo:

  1. Nel file di codice, seleziona il codice a cui vuoi aggiungere commenti.

  2. Apri la casella di testo incorporata premendo Ctrl+I (per Windows e Linux) o Comando+I (per macOS).

  3. Inserisci un prompt, ad esempio Add spanish comments, e premi Invio (per Windows e Linux) o Invio (per macOS).

    Gemini genera commenti nella lingua specificata nel prompt e visualizza le differenze tra questi suggerimenti.

  4. Per accettare o ignorare queste modifiche al codice, fai clic su Accetta o Elimina.

Testare altri prompt di esempio

Dopo aver letto la sezione Genera codice con prompt di questo documento, prova alcuni dei prompt di esempio riportati di seguito.

Ottenere una spiegazione del codice

  1. Nel file di codice, seleziona una funzione che vuoi venga spiegata.
  2. Nel riquadro Gemini Code Assist, inserisci il prompt Explain this code to me.

    Gemini utilizza il codice selezionato come riferimento e risponde con una spiegazione della funzione selezionata.

Genera piani di test

  1. Nel file di codice, seleziona il codice per cui vuoi aggiungere i test delle unità.
  2. Nel riquadro Gemini Code Assist, inserisci il prompt Write unit tests for my code.

Assistenza per il debug del codice

  1. Nel file di codice, seleziona il codice di cui vuoi eseguire il debug.
  2. Nel riquadro Gemini Code Assist, inserisci il prompt Help me debug my code.

Rendere il codice più leggibile

  1. Seleziona nel file di codice il codice che vuoi rendere più leggibile.
  2. Nel riquadro Gemini Code Assist, inserisci il prompt Make my code more readable.

    Se preferisci concentrarti su una parte specifica del codice, seleziona la parte preferita di codice prima di chiedere a Gemini.

Problemi noti

Le seguenti sezioni descrivono i problemi noti di Gemini Code Assist.

Gli avvisi relativi alla richiesta di licenze non vengono visualizzati tra una sessione e l'altra

Se gli avvisi di richiesta delle licenze non vengono visualizzati tra una sessione e l'altra, fai riferimento ai log permanenti:

  1. Fai clic su Menu Menu > Visualizza > Output.

  2. Seleziona Gemini Code Assist - Citations.

Problemi di connettività nella finestra di output di Gemini Code Assist

Se viene visualizzato un errore di connessione o altri problemi di connettività nella finestra di output di Gemini Code Assist, prova a procedere nel seguente modo:

  • Configura il firewall per consentire l'accesso a oauth2.googleapis.com e cloudaicompanion.googleapis.com.

  • Configura il firewall in modo da consentire la comunicazione tramite HTTP/2, utilizzato da gRPC.

Puoi usare lo strumento grpc-health-probe per verificare la connettività. Un controllo riuscito genera il seguente output:

$ 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

Un controllo non riuscito genera il seguente output:

timeout: failed to connect service "cloudaicompanion.googleapis.com:443" within 1s

Per ottenere ulteriori dettagli, esegui questo comando prima del giorno grpc-health-probe:

export GRPC_GO_LOG_SEVERITY_LEVEL=info

Gemini Code Assist e gateway JetBrains

Gemini Code Assist non funziona tramite il gateway JetBrains. Di conseguenza, Gemini Code Assist non viene eseguito sugli IDE Cloud Workstations che richiedono il gateway JetBrains per la connessione.

Lascia un feedback

Per lasciare un feedback sulla tua esperienza, segui questi passaggi:

  1. Nella barra di stato, fai clic su Gemini Code Assist, quindi nel menu Selezione rapida, seleziona Invia feedback.

  2. Nel modulo, compila i campi Titolo e Commenti.

  3. Se vuoi condividere i log di Skaffold o AI Companion, assicurati di selezionare l'opzione Invia log di Skaffold o Invia log di AI Companion.

  4. Fai clic su Invia feedback.

Passaggi successivi