Scrivi codice con Gemini Code Assist

Questo documento descrive come puoi utilizzare Gemini Code Assist, un collaboratore basato sull'AI in Google Cloud, per eseguire le seguenti operazioni nell'editor 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.

Scopri come e quando Gemini per Google Cloud utilizza i tuoi dati.

Per aiutarti a rispettare eventuali 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 citare le fonti.

Questo documento è rivolto a sviluppatori di tutti i livelli di abilità. Si presuppone che tu abbia una conoscenza pratica di Cloud Workstations e di Google Cloud. Se preferisci, puoi anche esplorare Gemini Code Assist in Cloud Code for VS Code, Cloud Code for IntelliJ e l'editor di Cloud Shell.

Prima di iniziare

  1. Assicurati di disporre del ruolo IAM Amministratore Cloud Workstations nel progetto per poter creare configurazioni di workstation.

    Vai a IAM

  2. Se non l'hai ancora fatto, configura la tua workstation e assicurati di selezionare Base Editor (Code-OSS) 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, ricevi una notifica di errore e ti viene 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 workstation

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

    Cloud Code - Pulsante Accedi nella barra di stato.

  3. Quando ti viene chiesto 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. Se ti viene richiesto di consentire a Cloud Workstations di aprire il sito web esterno, fai clic su Apri.

  6. Segui le istruzioni per accedere al tuo account.

    Se ti viene richiesto di assicurarti di aver scaricato questa app da Google, fai clic su Accedi.

    Nel browser si apre una nuova scheda in cui è visualizzato il codice di verifica per accedere a Cloud Code.

  7. Copia il codice di verifica e incollalo nel terminale in cui è visualizzato Inserisci codice di autorizzazione, quindi premi Invio (per Windows e Linux) o Invio (per macOS).

    La connessione a Google Cloud è stata completata.

A questo punto, 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 di Gemini è disponibile.

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

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

    Gemini è pronto per l'uso.

    L'icona di 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, segui questi passaggi:

  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 e fai clic su OK per salvarla.

    Una notifica conferma la creazione dell'applicazione; inoltre, si apre una nuova finestra con l'applicazione caricata.

Prova Gemini Code Assist

In questa sezione imparerai come aprire il riquadro Gemini Code Assist e chattare con Gemini Code Assist per ottenere una spiegazione del 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 tuo prompt e risponde con una spiegazione del codice.

    Per fare riferimento a un blocco specifico di codice anziché a tutto il codice nel file, puoi selezionare il blocco nel file di codice e fare un prompt a Gemini.

Reimposta cronologia chat

Gemini Code Assist utilizza la cronologia chat per ulteriore contesto quando risponde ai tuoi prompt.

Se la cronologia chat non è più pertinente per ciò che stai cercando di ottenere, puoi reimpostarla: nel riquadro Gemini Code Assist, fai clic su Elimina Reimposta chat.

Genera codice con prompt

Le seguenti sezioni 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 quindi chiedere a Gemini Code Assist di aiutarti tramite la funzionalità di chat. Inoltre, puoi ricevere e accettare o rifiutare suggerimenti di codice durante la programmazione.

Chiedi a 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 la scorciatoia da tastiera per la generazione del codice

Se la scorciatoia da tastiera predefinita per generare il codice non funziona come descritto nella sezione precedente, puoi modificarla procedendo nel seguente modo:

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

  2. Nell'elenco delle scorciatoie da tastiera, cerca Cloud Code: Generate Code (Genera codice).

  3. Fai clic su Cloud Code: Genera codice, quindi fai clic su Modifica Cambia Keybinding.

  4. Nella finestra di dialogo visualizzata, inserisci il tuo collegamento.

  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.

Chiedi 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 un codice generato basato su una richiesta con il codice selezionato:

  1. Nella workstation, apri un file del progetto contenente codice oppure usa lo stesso file di codice che hai 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 un prompt 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 tuo prompt.

Ricevi suggerimenti in linea durante la programmazione

Durante la scrittura del 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, inizia a scrivere una funzione su una nuova riga. 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 da Gemini Code Assist, premi Tab. In caso contrario, per ignorare il suggerimento, premi Esc o continua a scrivere il codice.

(Facoltativo) Disattiva i suggerimenti in linea

Se preferisci disabilitare 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: Abilita Auto, quindi seleziona Off.

    Questa operazione disattiva i suggerimenti in linea. 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 la lunghezza di un'altra fonte, come il codice open source esistente. Per maggiori informazioni, vedi Come e quando Gemini cita le fonti.

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

"cloudcode.duetAI.recitation.maxCitedLength": 0

Utilizzare le azioni rapide

Per aiutarti a essere più produttivo riducendo al minimo il cambio di contesto, Gemini Code Assist fornisce azioni intelligenti basate sull'AI direttamente nell'editor di codice. Quando selezioni il codice nell'editor di codice, puoi visualizzare e scegliere da un elenco di azioni pertinenti al tuo contesto.

Per utilizzare le azioni rapide 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 delle azioni intelligenti viene visualizzata dopo aver selezionato 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: utilizza le trasformazioni del codice

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

Con le trasformazioni del codice, puoi:

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

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

Chiedi 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 file di codice.

Per aprire la casella di testo in linea e chiedere a 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 tuo prompt.

Visualizza le differenze del codice sottoposto a 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 ignorare le modifiche suggerite.

Per visualizzare la differenza del codice sottoposto a refactoring dalla casella di testo incorporata, segui questi passaggi:

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

  2. Inserisci un prompt, come 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 vista diff.

    Le origini di contesto elencate nel riquadro Gemini: Chat.

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

Visualizza le origini contesto di una risposta generata

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

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

Le origini di contesto elencate nel riquadro Gemini: Chat.

Utilizzare gli smart comandi

I comandi intelligenti sono comandi che puoi utilizzare nella casella di testo incorporata per eseguire azioni specifiche nel codice.

Per ottenere una spiegazione dell'intero file di codice con lo smart command /explain, segui questi passaggi:

  1. Nel file di codice, apri la casella di testo in linea 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.

Visualizza la cronologia dei prompt

L'accesso alla cronologia dei prompt ti consente di risparmiare tempo quando devi inserire le stesse richieste 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 tuoi prompt meno recenti e riutilizzarli quando necessario.

Migliora la leggibilità del codice per gli utenti non madrelingua inglese

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

Per convertire i commenti dall'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 in linea premendo Ctrl+I (per Windows e Linux) o Comando+I (per macOS).

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

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

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

Testa altri prompt di esempio

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

Ricevi una spiegazione del codice

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

    Gemini usa 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.

Rendi il codice più leggibile

  1. Nel file di codice, seleziona 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 che preferisci prima di inviare un prompt a Gemini.

Problemi noti

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

Gli avvisi relativi alle richieste di licenza non vengono mantenuti tra una sessione e l'altra

Se gli avvisi sulle richieste di licenza non vengono mantenuti tra una sessione e l'altra, fai riferimento ai log permanenti:

  1. Fai clic sul menu Menu > Visualizza > Output.

  2. Seleziona Gemini Code Assist - Citations.

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

Se vedi un errore di connessione o altri problemi di connettività nella finestra di output di Gemini Code Assist, prova quanto segue:

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

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

Puoi utilizzare 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 restituisce il seguente output:

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

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

export GRPC_GO_LOG_SEVERITY_LEVEL=info

Gemini Code Assist e gateway JetBrains

Gemini Code Assist non viene eseguito tramite il gateway JetBrains. Di conseguenza, Gemini Code Assist non viene eseguito negli IDE di Cloud Workstations che richiedono la connessione del gateway JetBrains.

Lascia un feedback

Per lasciare un feedback sulla tua esperienza, procedi nel seguente modo:

  1. Nella barra di stato, fai clic su Gemini Code Assist e poi nel menu Scelta 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 Skaffold o Invia log AI Companion.

  4. Fai clic su Invia feedback.

Passaggi successivi