Scrivi codice con Gemini Code Assist

Questo documento descrive come utilizzare Gemini Code Assist, un collaboratore basato sull'IA di Google Cloud, per eseguire le seguenti operazioni in Cloud Shell:

  • Fornire 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 della fonte quando i suoi suggerimenti citano direttamente e in dettaglio una fonte specifica. Per saperne di più su come e quando Gemini cita le fonti, vedi In che modo Gemini ti aiuta a generare codice e cita le fonti.

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

Questo documento è rivolto a sviluppatori di ogni livello di abilità. Si presume che tu abbia conoscenza dell'editor di Cloud Shell e che tu abbia dimestichezza con Google Cloud. Se preferisci, puoi anche provare l'Assistente codice Gemini in Cloud Workstations, Cloud Code for IntelliJ e Cloud Code for VS Code.

Connettiti a Google Cloud e seleziona un progetto

In questa sezione, ti connetterai a Google Cloud e selezionerai un nel progetto Google Cloud con l'API Gemini per Google Cloud abilitata in nell'editor di Cloud Shell.

Se selezioni un progetto Google Cloud senza l'API Gemini per Google Cloud è abilitata, ricevi una notifica che l'opzione per abilitare l'API dall'IDE. Seleziona Abilita l'API nella finestra di notifica per abilitare l'API per il progetto. Per ulteriori informazioni, consulta Configurare Gemini Code Assist per un progetto.

Per connetterti a Google Cloud in nell'editor di Cloud Shell, segui questi passaggi:

  1. Avvia l'editor di Cloud Shell.

  2. Se utilizzi l'editor precedente, fai clic su Prova il nuovo editor.

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

    Cloud Code - pulsante Accedi nella barra di stato.

  4. Se viene richiesto di autorizzare l'editor di Cloud Shell a effettuare Google Cloud Chiamate API, fai clic su Autorizza.

  5. Segui le istruzioni per accedere al tuo Account Google.

    La connessione a Google Cloud è stata completata.

Per selezionare un progetto Google Cloud in cui è attivata l'API Gemini for Google Cloud:

  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.

  3. Seleziona un progetto Google Cloud in cui è attivata l'API Gemini for Google Cloud.

    Gemini è pronto per l'uso.

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

Chattare con Gemini Code Assist

In questa sezione scoprirai come aprire il riquadro Gemini Code Assist e chattare con Gemini Code Assist per ricevere una spiegazione del codice esistente.

Per iniziare a chattare con Gemini:

  1. Apri il file di codice.

  2. Nella barra delle attività dell'editor di Cloud Shell, 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 codice nel file di codice come riferimento il 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.

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 chat non è più pertinente ai risultati che desideri ottenere, puoi reimpostare la cronologia chat: nel riquadro Gemini Code Assist, fai clic su delete Reimposta Chat.

Generare codice con prompt

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

Chiedere a Gemini Code Assist di eseguire un prompt in un file di codice

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

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

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

  3. (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 la generazione di codice non funziona come descritto nella sezione precedente, puoi modificarla seguendo questi passaggi:

  1. Nell'editor di Cloud Shell, fai clic su menu Menu e poi 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: genera codice e poi su edit Modifica mappatura 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 o Gemini.

Chiedere a Gemini Code Assist di eseguire 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 un con il codice selezionato, segui questi passaggi:

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

  2. Nel file di codice, seleziona un blocco di codice.

  3. 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 di unità per una funzione selezionata.

    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 genera il codice in linea suggerimenti che puoi accettare o ignorare. Per provare questa funzionalità, segui questi passaggi:

  1. Nel file di codice, in una nuova riga, inizia a scrivere una funzione. Ad esempio, se si trova in un file Python, scrivere def.

    Gemini suggerisce il codice sotto forma di testo fantasma.

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

  1. Nell'editor di Cloud Shell, selezionare 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 Cloud Code: Gemini Code Assist: Inline Suggestions: Enable Auto e seleziona Off.

    Questa operazione disattiva i suggerimenti in linea. Puoi ancora premere Ctrl+Invio (per Windows e Linux) o Ctrl+Invio (per macOS) per attivare manualmente i suggerimenti in linea.

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

Puoi escludere i file dall'essere considerati da Gemini Code Assist per il contesto creando un file .aiexclude. Un file .aiexclude segue sintassi simile a quella di un file .gitignore, con le seguenti differenze:

  • Un file .aiexclude vuoto o inesistente non blocca nessun file nella sua directory e in tutte le sottodirectory.
  • Un file .aiexclude non supporta la negazione, in cui aggiungi un prefisso ai pattern un punto esclamativo (!).
  • Un file .aiexclude trova corrispondenze con il carattere *. La corrispondenza verrà eseguita indiscriminatamente su directory e file. Questo file .aiexclude non distingue tra ** o * per quanto riguarda le cartelle o i file.

Al momento è supportato un solo file .aiexclude. Per configurare .aiexclude, crea un file denominato .aiexclude nella radice del tuo Workspace. Se vuoi posizionare questo file al di fuori della directory principale 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 rispetto alla cartella principale dell'area di lavoro aperta.

Esempi

I seguenti esempi dimostrano come configurare un file .aiexclude:

  • Blocca tutti i file denominati apikeys.txt nella directory dello spazio di lavoro o al di sotto:

    apikeys.txt
    
  • Blocca tutti i file con l'estensione .key all'interno o al di sotto dello spazio di lavoro directory:

    *.key
    
  • Blocca solo il file apikeys.txt nella stessa directory del file .aiexclude. ma non nelle 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/*
    

Disattiva i suggerimenti di codice che corrispondono alle fonti citate

Gemini fornisce informazioni sulle citazioni quando riporta direttamente e in dettaglio citazioni di un'altra fonte, ad esempio il codice open source esistente. Per ulteriori informazioni, consulta 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 su 0 in un File settings.json:

"cloudcode.duetAI.recitation.maxCitedLength": 0

Utilizzare le azioni rapide

Per aiutarti ad aumentare la produttività riducendo al minimo il cambio di contesto, Gemini Code Assist fornisce azioni intelligenti basate sull'IA direttamente nel tuo editor di codice. Quando selezioni il codice nell'editor di codice, puoi visualizzare e seleziona 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 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 Workstations.

  3. Seleziona un'azione come Genera test di unità.

    Gemini genera una risposta in base all'azione selezionata.

Usa la trasformazione del codice

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

Con la trasformazione 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 fonti di contesto di una risposta generata in Gemini: Chat.

Chiedi a Gemini Code Assist con la casella di testo in linea

La casella di testo in linea ti consente di interagire 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, 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 tuo prompt.

Visualizza la differenza del codice sottoposto a refactoring

Con la visualizzazione della differenza integrata nella casella di testo in linea, puoi vedere le modifiche suggerite da Gemini e il codice originale. Puoi quindi accettare o rifiutare le modifiche suggerite.

Per visualizzare la differenza del codice sottoposto a refactoring dalla casella di testo in linea, esegui la seguenti passaggi:

  1. Nel file di codice, 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 dell'elemento selezionato viene visualizzata la vista diff.

    Le origini del contesto elencate nel riquadro Gemini: Chat.

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

Visualizzare le fonti di contesto di una risposta generata

La funzionalità di visualizzazione contestuale elenca i file di progetto (le fonti di contesto) utilizzate come riferimento per generare risposte ai tuoi prompt. Sapere quale usati come riferimenti ti aiutano a perfezionare i prompt e a ottenere risposte specifiche. Le origini del contesto vengono mostrate ogni volta che utilizzi la chat Gemini.

Per visualizzare le origini contestuali della risposta generata, in Gemini: Chat scorri fino allo snippet Origini di contesto. Espandi lo snippet per visualizzare tutte le origini del contesto.

Le origini di 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 al tuo codice.

Per visualizzare una spiegazione dell'intero file di codice con il comando /explain smart:

  1. Nel file del 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.

Visualizzare la cronologia dei prompt

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

Per accedere alla cronologia dei prompt, apri la casella di testo in linea nel file di codice Premi 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 gli utenti non madrelingua inglese

Se non sei madrelingua inglese e si basa su 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 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, ad esempio Add spanish comments e premi Invio (per Windows e Linux) o Return (per macOS).

    Gemini genera commenti nella lingua che hai specificato nel prompt e vede le differenze di questi suggerimenti.

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

Testa altri prompt di esempio

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

Ricevi una spiegazione del codice

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

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

Generare piani di test

  1. Nel file di codice, seleziona il codice per cui vuoi aggiungere i test di 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 che 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 parte del codice preferita prima di chiedere a Gemini.

Problemi noti

Le seguenti sezioni descrivono i problemi noti Gemini Code Assist.

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

Se gli avvisi relativi alla lettura della licenza non persistono nelle sessioni, consulta i 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 noti un errore di connessione o altri problemi di connettività nella Finestra di output di Gemini Code Assist, prova quanto segue:

  • Configura il firewall in modo da 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 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 non riuscito genera il seguente output:

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

Per ulteriori dettagli, esegui quanto segue prima di grpc-health-probe:

export GRPC_GO_LOG_SEVERITY_LEVEL=info

L'opzione "Attiva Gemini Code Assist" viene visualizzata ancora dopo aver selezionato il progetto Gemini Code Assist

Se hai selezionato il tuo progetto seguendo le istruzioni riportate in questa di Google Cloud, che include l'abilitazione dell'API Gemini per Google Cloud, potrebbero essere presenti un problema con il server LS.

Per saperne di più sul problema, procedi nel seguente modo:

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

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

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 seleziona Invia feedback nel menu Scelta rapida.

  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