Scrivi codice con Gemini Code Assist

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

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

  • Genera il codice per il tuo progetto.

  • Ricevi suggerimenti in linea mentre programmi.

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 della fonte 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 Come Gemini ti aiuta a generare codice e cita le fonti.

La personalizzazione del codice ti consente di ricevere suggerimenti di codice basati sul codebase privato della tua organizzazione direttamente da Gemini Code Assist. Scopri come configurare la personalizzazione del codice.

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

Prima di iniziare

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

    Vai a IAM

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

  3. Prima di testare le funzionalità di Gemini Code Assist nel file di codice, assicurati che il linguaggio di programmazione del file sia supportato. Per ulteriori informazioni sui linguaggi di programmazione supportati, consulta Linguaggi di programmazione supportati.

Connettiti a Google Cloud e seleziona un progetto

In questa sezione, ti connetterai a Google Cloud e selezionerai un progettoGoogle Cloud con l'API Gemini for Google Cloud abilitata nella tua workstation.

Se selezioni un progetto Google Cloud senza l'API Gemini for Google Cloud abilitata, ricevi una notifica che ti offre la possibilità di abilitare l'API dall'IDE. Seleziona Abilita l'API nella finestra di notifica per abilitare l'API per il tuo progetto. Per saperne di più, consulta la sezione Configura Gemini Code Assist per un progetto.

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

  1. Nella console Google Cloud , avvia la workstation.

    Avvia workstation

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

  3. Segui le istruzioni per accedere a Gemini Code Assist, se non hai già eseguito l'accesso.

  4. Se ti viene chiesto di consentire a Cloud Workstations di aprire il sito web esterno, fai clic su Apri.

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

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

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

  6. Copia il codice di verifica e incollalo nel terminale dove è scritto Enter authorization code, quindi premi Invio (per Windows e Linux) o Return (per macOS).

    Ora sei in contatto con Google Cloud. Gemini è pronto per l'uso.

Chattare con Gemini Code Assist

In questa sezione, scopri come aprire il riquadro Gemini Code Assist e chattare con Gemini Code Assist per ottenere una spiegazione del codice.

Per iniziare a chattare con Gemini, segui questi passaggi:

  1. Apri un file sorgente.

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

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

    Gemini utilizza il file come contesto per il prompt e risponde con una spiegazione del codice.

    Per concentrarti su un blocco di codice specifico, selezionalo nel file aperto prima di inserire il prompt.

Reimpostare la cronologia chat

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

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

Generare codice con i 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. Puoi anche selezionare una parte del codice e poi chiedere aiuto a Gemini Code Assist tramite la funzionalità di chat e ricevere e accettare o rifiutare i suggerimenti di codice mentre programmi.

Richiedere a Gemini Code Assist in un file

  1. In un file di origine, su una nuova riga, inserisci il commento Function to create a Cloud Storage bucket, quindi premi Invio (per Windows e Linux) o A capo (per macOS).

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

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

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

(Facoltativo) Modificare la scorciatoia da tastiera per generare il codice

Se la scorciatoia da tastiera predefinita per generare il codice non funziona come descritto nella sezione precedente, puoi modificarla seguendo questi passaggi:

  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: genera codice.

  3. Fai clic su Cloud Code: Generate Code e poi su edit Change Keybinding (Modifica assegnazione tasti).

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

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

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

Chiedere a Gemini Code Assist di analizzare il codice selezionato utilizzando la chat

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

  1. Nella barra delle attività, fai clic su spark Gemini Code Assist per aprire il riquadro della chat di Gemini Code Assist.

  2. In un file sorgente, seleziona un blocco di codice.

  3. Nel campo di testo della chat 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 utilizza il codice selezionato come riferimento e risponde al tuo prompt.

Ricevi suggerimenti in linea durante la codifica

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

  1. In un file sorgente, 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.

  2. Per accettare il suggerimento di codice di 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 disattivare i suggerimenti in linea in Gemini Code Assist, segui questi passaggi:

  1. Nella workstation, seleziona 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 all'elenco Cloudcode: Gemini Code Assist: Inline Suggestions: Enable Auto (Cloudcode: Gemini Code Assist: Suggerimenti in linea: attiva automatico), poi 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.

(Facoltativo) Escludere i file dal contesto con un file .aiexclude

Puoi escludere i file da Gemini Code Assist per il contesto creando un file .aiexclude. Un file .aiexclude segue una sintassi simile a un file .gitignore, con le seguenti differenze:

  • Un file .aiexclude vuoto o inesistente non blocca alcun file nella sua directory e in tutte le sottodirectory.
  • Un file .aiexclude non supporta la negazione, in cui i pattern sono preceduti da un punto esclamativo (!).
  • Un file .aiexclude corrisponde in modo greedy al carattere *. Questa operazione corrisponderà indiscriminatamente a directory e file. Questo file .aiexclude non distingue tra ** o * per quanto riguarda cartelle o file.

Al momento è supportato un solo file .aiexclude. Per configurare il file .aiexclude, crea un file denominato .aiexclude nella radice della cartella dell'area di lavoro. Se vuoi posizionare questo file al di fuori della radice dello spazio di lavoro o rinominarlo, il percorso può essere impostato nelle impostazioni di VS Code in "File di esclusione del contesto". Il valore del percorso fornito in questa impostazione verrà risolto in relazione alla cartella principale dell'area di lavoro aperta.

Esempi

Gli esempi seguenti mostrano come configurare un file .aiexclude:

  • Blocca tutti i file denominati apikeys.txt nella directory dello spazio di lavoro o in una sottodirectory:

    apikeys.txt
    
  • Blocca tutti i file con l'estensione .key nella directory dello spazio di lavoro o in una directory sottostante:

    *.key
    
  • Blocca solo il file apikeys.txt nella stessa directory del file .aiexclude, ma non le sottodirectory:

    /apikeys.txt
    
  • Blocca tutti i file nella directory my/sensitive/dir e in tutte le sottodirectory. Il percorso deve essere relativo alla directory principale dello spazio di lavoro.

    my/sensitive/dir/*
    

Disattivare i suggerimenti di codice che corrispondono alle fonti citate

Gemini fornisce informazioni sulla citazione quando cita direttamente e in dettaglio un'altra fonte, ad esempio un codice sorgente disponibile pubblicamente. Per maggiori informazioni, consulta Come e quando Gemini cita le fonti.

Per impedire che venga suggerito codice che corrisponde alle fonti citate, puoi modificare l'impostazione geminicodeassist.recitation.maxCitedLength in 0 in un file settings.json:

"geminicodeassist.recitation.maxCitedLength": 0

Utilizzare le azioni rapide

Per aiutarti a incrementare la produttività riducendo al minimo il cambio di contesto, Gemini Code Assist fornisce azioni intelligenti basate sull'AI direttamente nel tuo editor di codice sorgente. Quando selezioni il codice nell'editor, puoi visualizzare e scegliere da un elenco di azioni pertinenti al tuo contesto.

Per utilizzare le Azioni rapide:

  1. In un file sorgente, seleziona un blocco di codice.

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

    L'icona a forma di lampadina delle azioni intelligenti viene visualizzata dopo aver selezionato un blocco di codice in Shell e workstation.

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

    Gemini genera una risposta in base all'azione che hai selezionato.

Utilizzare la trasformazione del codice

Gemini Code Assist offre la trasformazione del codice, che ti consente di selezionare una parte di codice in un file e richiedere modifiche al codice esistente tramite prompt in linguaggio naturale, utilizzando una casella di testo incorporata.

Con la trasformazione del codice puoi:

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

Puoi anche visualizzare le fonti contestuali di una risposta generata nel riquadro Gemini: Chat.

Inviare prompt a Gemini Code Assist con la casella di testo incorporata

La casella di testo incorporata ti consente di interagire con Gemini Code Assist direttamente nel codice.

Per aprire la casella di testo incorporata e chiedere a Gemini, segui questi passaggi:

  1. In un file sorgente, premi Ctrl+I (per Windows e Linux) o Cmd+I (per macOS).

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

    Gemini Code Assist genera il codice in base al 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 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. In un file sorgente, seleziona una funzione e apri la casella di testo incorporata premendo Ctrl+I (per Windows e Linux) o Cmd+I (per macOS).

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

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

    Fonti contestuali elencate nel riquadro Gemini: Chat.

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

Visualizzare le fonti contestuali di una risposta generata

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

Per visualizzare le fonti del contesto della risposta generata, nel riquadro Gemini: Chat, scorri fino a visualizzare lo snippet Fonti del contesto. Espandi lo snippet per visualizzare tutte le fonti contestuali.

Fonti contestuali elencate nel riquadro Gemini: Chat.

Utilizzare i comandi intelligenti

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

Per ottenere una spiegazione di un intero file sorgente con il comando smart /explain:

  1. In un file, apri la casella di testo incorporata premendo Ctrl+I (per Windows e Linux) o Cmd+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 nella casella di testo incorporata.

  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 fa risparmiare tempo quando vuoi riutilizzare i prompt in un file di origine di grandi dimensioni.

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

Migliorare la leggibilità del codice per chi non ha l'inglese come lingua madre

Se non parli inglese come lingua madre 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, segui questi passaggi:

  1. In un file sorgente, seleziona il codice a cui vuoi aggiungere commenti.

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

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

    Gemini genera commenti nella lingua specificata nel prompt e visualizza la differenza di questi suggerimenti.

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

Prova altri prompt di esempio

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

Ottenere una spiegazione del codice

  1. In un file di origine, seleziona una funzione per cui vuoi ricevere una spiegazione.
  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.

Generare piani di test

  1. In un file di origine, seleziona il codice per cui vuoi aggiungere test unitari.
  2. Nel riquadro Gemini Code Assist, inserisci il prompt Write unit tests for my code.

Ricevi assistenza per il codice di debug

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

Rendere il codice più leggibile

  1. In un file sorgente, 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 di codice che preferisci prima di chiedere a Gemini.

Problemi noti

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

Gli avvisi di recitazione della licenza non vengono mantenuti tra una sessione e l'altra

Se gli avvisi di citazione della licenza non persistono tra le sessioni, consulta i log persistenti:

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

  2. Seleziona Gemini Code Assist - Citazioni.

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

Se visualizzi un errore di connessione o altri problemi di connettività nella finestra di output di Gemini Code Assist, prova a eseguire le seguenti operazioni:

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

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

Puoi utilizzare lo strumento grpc-health-probe per testare 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 senza esito positivo genera il seguente output:

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

Per ottenere maggiori dettagli, esegui il seguente comando prima di grpc-health-probe:

export GRPC_GO_LOG_SEVERITY_LEVEL=info

Gemini Code Assist e JetBrains Gateway

Gemini Code Assist non viene eseguito tramite JetBrains Gateway. Di conseguenza, Gemini Code Assist non viene eseguito sugli IDE Cloud Workstations che richiedono la connessione a JetBrains Gateway.

Dopo aver selezionato il progetto Gemini Code Assist, viene ancora visualizzato il messaggio "Attiva Gemini Code Assist"

Se hai selezionato il tuo progetto seguendo le istruzioni di questa guida, che include l'abilitazione dell'API Gemini in Google Cloud, potrebbe esserci un problema con il server LS.

Per scoprire maggiori dettagli sul problema, esegui le seguenti azioni:

  1. Nella barra di stato, fai clic su spark Gemini Code Assist e poi seleziona Invia feedback.

  2. Fai clic su Mostra per uno qualsiasi dei file di log per visualizzare ulteriori dettagli e risolvere il problema.

Lascia un feedback

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

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

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

  3. Per condividere i log di Skaffold o AI Companion, seleziona l'opzione Invia log di Skaffold o Invia log di AI Companion.

  4. Fai clic su Invia feedback.

Passaggi successivi