Scrivi codice con Gemini Code Assist

Questo documento descrive come utilizzare Gemini Code Assist, uno strumento basato sull'AI di Google Cloud, per aiutarti a fare quanto segue in Cloud Code:

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

La personalizzazione del codice ti consente di ricevere suggerimenti per il codice in base al codebase privato della tua organizzazione direttamente da Gemini Code Assist. Impara come configurare la personalizzazione del codice.

Questo documento è rivolto a sviluppatori di tutti i livelli di abilità. Si presume che Avere una conoscenza pratica di VS Code e hanno familiarità con Google Cloud. Se preferisci, puoi anche provare l'Assistente codice Gemini in Cloud Workstations, Cloud Code for IntelliJ e Cloud Shell Editor.

Prima di iniziare

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

  2. Se non l'hai ancora fatto, installa l'estensione Gemini Code Assist + Cloud Code. Cloud Code si integra con Gemini Code Assist nel tuo IDE.

  3. Se preferisci utilizzare l'IDE dietro un proxy, consulta Connessioni di rete in Visual Studio 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 nel tuo IDE.

Se selezioni un progetto Google Cloud senza l'API Gemini per Google Cloud abilitata, ricevi una notifica che ti offre la possibilità di attivare 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.

Se preferisci seguire le istruzioni fornite in Code with Gemini Code Assist, procedura dettagliata direttamente nel tuo IDE, fai clic su Launch VS Code e segui i passaggi nella procedura dettagliata per connetterti a Google Cloud e attivare Gemini Code Assist.

Lancio rispetto al codice

In caso contrario, attieniti alla seguente procedura:

  1. Avvia l'IDE.

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

    Cloud Code - pulsante Accedi nella barra di stato.

  3. Quando ti viene richiesto di consentire a Cloud Code di aprire il sito web esterno, fai clic su Apri.

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

  5. Quando ti viene chiesto se hai scaricato Cloud Code da Google, fai clic su Accedi.

    La connessione a Google Cloud è stata completata.

Poi, per selezionare un progetto Google Cloud che includa l'API Gemini per Google Cloud. attiva, procedi nel seguente modo:

  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, segui questi passaggi:

  1. Apri il file di codice.

  2. Nella barra delle attività del IDE: 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 al prompt e risponde con una spiegazione del codice.

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

Reimposta cronologia chat

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

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

Generare codice con prompt

Le seguenti sezioni mostrano come utilizzare Gemini Code Assist per eseguire trasformazioni di codice come function to create a Cloud Storage bucket utilizzando la barra di scelta rapida.

La trasformazione del codice ti consente di utilizzare comandi o prompt in linguaggio naturale nella barra Quick Pick per richiedere modifiche al codice e ti fornisce una visualizzazione della differenza per mostrare le modifiche in attesa al codice.

Puoi anche selezionare una parte del codice e chiedere aiuto a Gemini Code Assist tramite il riquadro Gemini Code Assist e ricevere e accettare o rifiutare i suggerimenti di codice durante la programmazione.

Chiedere a Gemini Code Assist di eseguire la trasformazione del codice

  1. Nel file di codice, premi Ctrl+I in una nuova riga (per Windows e Linux) o Comando+I (per macOS) per aprire Barra di selezione rapida di Gemini Code Assist.

  2. Nel menu, utilizzando il comando /generate, inserisci /generate function to create a Cloud Storage bucket e premi Invio (per Windows e Linux) o Return (per macOS).

    Gemini Code Assist genera codice con il comando /generate.

    Gemini Code Assist genera il codice in base al tuo prompt in una visualizzazione di confronto.

    Gemini Code Assist apre una visualizzazione della differenza per mostrare il codice generato.

  3. (Facoltativo) Per accettare queste modifiche, fai clic su Accetta.

(Facoltativo) Inviare un prompt a Gemini Code Assist in un file di codice con un commento

Se preferisci, puoi anche richiedere a Gemini Code Assist con un commento procedendo nel seguente modo:

  1. 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).

    Accanto al testo del prompt nel file di codice, Gemini Code Assist 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 generare il codice non funziona come descritto nella sezione precedente, puoi modificare la scorciatoia da tastiera seguendo questi passaggi:

  1. Nell'IDE, fai clic su File (per Windows e Linux) o Codice (per macOS), quindi vai a Impostazioni > Scorciatoie da tastiera.

  2. Nell'elenco delle scorciatoie da tastiera, scorri fino a trovare Cloud 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 Return (per macOS).

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

Per scoprire di più sulla modifica delle scorciatoie nell'IDE, consulta Keybindings for Visual Studio Code.

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 generare codice basato su un prompt con codice selezionato:

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

  2. Seleziona un blocco di codice nel file 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 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. Nel tuo IDE, selezionare Codice (per macOS) o File (per Windows e Linux) e quindi vai a Impostazioni > Impostazioni.

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

  3. Scorri fino a trovare Cloudcode: Gemini Code Assist: Inline Suggestions: Enable Automatica, quindi 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.

Utilizzare la correzione rapida della trasformazione del codice

Se il codice contiene un errore, Gemini Code Assist ti offre la possibilità di applicare una correzione rapida all'errore con la trasformazione del codice.

Per applicare una correzione rapida nel file di codice, segui questi passaggi:

  1. Nel file di codice, tieni il puntatore sopra la riga deformata dell'errore e seleziona Correzione rapida, quindi seleziona /fix.

    Correzione rapida della trasformazione del codice nell'IDE.

  2. Quando la correzione rapida viene applicata, appare una visualizzazione delle differenze. Per accettare queste modifiche, fai clic su Accetta.

Crea prompt con file specifici nell'area di lavoro con consapevolezza del codebase locale

La consapevolezza del codebase locale ti aiuta con suggerimenti di codice di alta qualità che sintatticamente corretta e semanticamente significativa nel contesto più ampio di del tuo codebase, quando specifichi i file affinché Gemini Code Assist da usare come contesto.

Per specificare i file nel prompt della chat, digita @ e seleziona i file che vuoi specificare.

Specifica i file tenendo conto del codebase locale.

Per una spiegazione delle differenze di due file nel codebase, segui questi passaggi:

  1. Nella barra delle attività, fai clic su spark Gemini. Assistente codice.

  2. Nel riquadro Gemini Code Assist, inserisci il prompt Explain the difference between @YOUR_FILE_NAME_1 and @YOUR_FILE_NAME_2 e premi Invio (per Windows e Linux) o Return (per macOS) o Tab. Puoi fai anche clic sul nome del file nell'elenco per selezionarlo. Se fai clic sul nome del file, il file viene aggiunto al contesto del prompt e aperto nell'IDE.

    Gemini Code Assist risponde al tuo prompt utilizzando i due file specificati per il contesto. Gemini Code Assist include anche i file specificati in Origini contesto.

Ora che hai specificato questi file, puoi continuare a porre altre domande o richieste nella stessa cronologia chat, senza dover specificare di nuovo i file.

Ad esempio, nel riquadro Gemini Code Assist, inserisci il prompt How can I improve YOUR_FILE_NAME_1? (senza il simbolo @) e premi Invio (per Windows e Linux) o Return (per macOS).

Gemini Code Assist risponde alla tua richiesta sul file specificato nel prompt.

(Facoltativo) Escludere 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 corrisponde in modo avido al carattere *. La corrispondenza verrà eseguita indiscriminatamente su directory e file. Questo file .aiexclude non differenzia ** o * per quanto riguarda cartelle o 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

Gli esempi seguenti mostrano 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 nella directory dello spazio di lavoro o al di sotto:

    *.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 dell'area di lavoro.

    my/sensitive/dir/*
    

Disattivare i suggerimenti di codice corrispondenti alle fonti citate

Gemini fornisce informazioni sulle citazioni quando cita direttamente da un'altra sorgente, come il codice open source esistente. Per maggiori informazioni le informazioni, vedi Come e quando Gemini cita le fonti.

Per impedire che venga suggerito il 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 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 VS Code.

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

    Gemini genera una risposta in base all'azione selezionata.

Prova altri prompt di esempio

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

Ottenere una spiegazione del codice

  1. Nel file di codice, seleziona una funzione che vuoi che venga spiegata.
  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 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 parte del codice preferita prima di chiedere a Gemini.

Problemi noti

Le seguenti sezioni descrivono i problemi noti Gemini Code Assist.

Le risposte della chat potrebbero essere troncate quando includono una versione aggiornata di un file aperto di grandi dimensioni

Per risolvere il problema, seleziona una sezione di codice più piccola e includi un'altra direttiva nel prompt della chat, ad esempio only output the selected code.

Vim: impossibile accettare o ignorare i suggerimenti di generazione del codice se non è in modalità di inserimento

Quando utilizzi il plug-in Vim in modalità normale, non puoi accettare o ignorare i suggerimenti di codice.

Per aggirare il problema, premi i per attivare la modalità di inserimento, quindi premi Tab per accettare il suggerimento.

Vim: comportamento incoerente quando premi Esc per ignorare i suggerimenti

Quando premi Esc, sia l'IDE sia Gemini suggerimenti vengono ignorati. Questo comportamento è diverso da quello non Vim dove premendo Esc riattiva Gemini.

I tentativi di accesso continuano a scadere

Se i tentativi di accesso continuano a scadere, prova ad aggiungere l'impostazione cloudcode.beta.forceOobLogin al file settings.json:

"cloudcode.beta.forceOobLogin": true

Gli avvisi relativi alla lettura della licenza non vengono mantenuti tra una sessione e l'altra

Se gli avvisi relativi alla lettura della licenza non persistono nelle varie sessioni, consulta i log permanenti:

  1. Fai clic su Visualizza >. Output.

  2. Seleziona Gemini Code Assist - Citations.

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

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

  • 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 tramite HTTP/2, il protocollo utilizzato da gRPC.

Puoi utilizzare lo strumento grpc-health-probe per testare la connettività. Un successo verifica i risultati nel 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 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 scoprire ulteriori dettagli sul problema, svolgi le seguenti azioni:

  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 di 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