Completamento del codice con GitHub Copilot

Completato

Le funzionalità di completamento di scrittura del codice di GitHub Copilot si trovano direttamente all'interno dell'IDE, in cui si scrive ed esamina il codice. GitHub Copilot si integra perfettamente con editor come Visual Studio Code o JetBrains, offrendo funzionalità come suggerimenti automatici, un riquadro dei suggerimenti multipli e il supporto per vari stili di scrittura del codice. Si interagisce principalmente con GitHub Copilot tramite questi strumenti IDE e si comprende come e dove usarli, favorendo l’ottimizzazione delle sue potenti capacità di generazione del codice.

In questa unità verranno trattati i seguenti argomenti:

  • Linguaggi supportati da GitHub Copilot
  • Suggerimenti automatici
  • Riquadro dei suggerimenti multipli
  • Supporto per stili di scrittura del codice diversi nei suggerimenti
  • In che modo GitHub Copilot incorpora i commenti di scrittura del codice per i suggerimenti

Linguaggi supportati da GitHub Copilot

GitHub Copilot offre un supporto solido per un'ampia gamma di linguaggi e framework di programmazione, con funzionalità avanzate per:

  • Pitone
  • JavaScript
  • Giava
  • TypeScript
  • rubino
  • Go
  • C#
  • C++

Anche se questi linguaggi ricevono un supporto eccezionale, GitHub Copilot può essere utile anche con molti altri linguaggi e framework.

Suggerimento

GitHub Copilot offre un livello gratuito con 2.000 completamenti automatici di codice e 50 messaggi di chat al mese. Per iniziare, aprire Visual Studio Code, fare clic sull'icona di GitHub Copilot e quindi su "Eseguire l’accesso per usare GitHub Copilot gratuitamente". Accedere all'account GitHub nella finestra che verrà aperta nel browser. Ulteriori informazioni. Docenti, studenti e gestori open source selezionati possono ricevere gratuitamente Copilot Pro. Informazioni su come fare: https://aka.ms/Copilot4Students.

Suggerimenti automatici

Copilot offre suggerimenti per la scrittura del codice durante la digitazione: a volte completando la riga corrente, a volte suggerendo un intero nuovo blocco di codice. È possibile accettare tutto, una parte o ignorare il suggerimento. Questa possibilità di fornire suggerimenti in tempo reale e con riconoscimento del contesto consente di risparmiare tempo prezioso per lo sviluppo riducendo la necessità di cercare sintassi, risolvere i problemi della logica o ripetere la scrittura di modelli comuni.

Screenshot del testo suggerito per il completamento automatico.

Riquadro dei suggerimenti multipli

Quando si lavora su un blocco di codice e GitHub Copilot offre un suggerimento, viene visualizzato un frammento di codice in grigio. Per esplorare altre opzioni e accelerare il flusso di lavoro di sviluppo, passare il puntatore sul suggerimento per visualizzare il pannello di controllo di GitHub Copilot. Questa funzionalità consente di valutare rapidamente più approcci allo stesso problema, consentendo di scegliere la soluzione più adatta per il contesto specifico.

Screenshot del testo suggerito per il completamento automatico dei suggerimenti multipli.

Fare clic sui pulsanti freccia avanti o indietro nel pannello di controllo per visualizzare i suggerimenti successivi o precedenti. È anche possibile usare i tasti di scelta rapida per scorrere rapidamente le opzioni:

  • macOS: Opzione (⌥) o ALT+] (successivo), Opzione (⌥) o ALT+[ (precedente)
  • Windows o Linux: ALT+] (successivo), ALT+[ (precedente)

Schermata del riquadro dei suggerimenti.

Questa rapida iterazione tramite più suggerimenti di codice consente di mantenere lo slancio nello sviluppo, permettendoti di confrontare rapidamente diversi approcci senza interrompere il flusso di scrittura del codice. Invece di iniziare da zero o cercare esempi online, è possibile valutare implementazioni diverse entro pochi secondi, selezionando quella più adatta alle proprie esigenze e allo stile di codifica.

Anche se GitHub Copilot è eccellente nel suggerire il codice, dimostra anche capacità di adattamento nei modi seguenti:

  • Implementazione del metodo: quando si inizia a digitare un nome del metodo, Copilot può suggerire l'intera implementazione, seguendo lo stile di scrittura del codice stabilito.
  • Convenzioni di denominazione: rileva le convenzioni di denominazione preferite per variabili, funzioni e classi.
  • Formattazione: Copilot si adatta allo stile di rientro, alla posizione delle parentesi e ad altre preferenze di formattazione.
  • Stile del commento: può imitare lo stile del commento, indipendentemente dal fatto che si preferisca commenti di riga, commenti di blocco o docstring.
  • Criteri di progettazione: quando il progetto usa in modo coerente determinati criteri di progettazione, Copilot suggerisce codice adattato a tali criteri.

Utilizzo dei commenti di scrittura del codice per i suggerimenti

Un aspetto chiave di questa funzionalità è il modo in cui incorpora i commenti di scrittura del codice per migliorarne i suggerimenti. Questa sezione illustra i vari modi in cui GitHub Copilot usa i commenti per migliorare le funzionalità di completamento e generazione del codice.

Informazioni sul contesto dei commenti

Se integrato nel codebase esistente, GitHub Copilot usa vari aspetti del codice per fornire suggerimenti più pertinenti, inclusi i commenti sul codice. Gli sviluppatori usano spesso i commenti per chiarire la finalità del codice e migliorare la collaborazione e Copilot, come assistente per la scrittura di codice di IA, usa questi commenti nello stesso modo. Copilot comprende la finalità dei commenti, dunque può fornire suggerimenti di codice più accurati e in grado di riconoscere il contesto tramite due processi chiave:

  • Elaborazione del linguaggio naturale: Copilot usa tecniche avanzate di elaborazione del linguaggio naturale per interpretare il significato e la finalità dei commenti nel codice.
  • Analisi contestuale: analizza i commenti in relazione al codice circostante, comprendendo la loro pertinenza e scopo all'interno del contesto più ampio del file o del progetto.

Tipi di commenti usati

Copilot può lavorare con vari tipi di commenti per comunicarli ai suoi suggerimenti:

  • Commenti di riga: spiegazioni brevi accanto a righe di codice specifiche.
  • Commenti di blocco: spiegazioni più lunghe che potrebbero descrivere una funzione o una classe.
  • Docstring: stringhe di documentazione formali in linguaggi come Python.
  • Commenti TODO: note su future implementazioni o miglioramenti.
  • Documentazione API: commenti che descrivono l'utilizzo e i parametri di funzioni o metodi.

Generazione di codice basata su commenti

Copilot usa i commenti in diversi modi per generare e suggerire codice:

  • Implementazione della funzione: quando una funzione viene descritta nei commenti, Copilot può suggerire un'intera implementazione basata sulla descrizione.

    Screenshot del testo suggerito per il completamento di multiple linee di codice.

  • Completamento codice: Copilot usa i commenti per fornire completamenti di scrittura del codice più accurati, comprendendo la finalità dello sviluppatore.

    Screenshot del testo suggerito per il completamento automatico dell’intera funzione.

    In questo esempio, il commento descrive una funzione per invertire una stringa. In base a questo commento, è probabile che Copilot suggerisca un'implementazione usando la notazione della sezione di Python con un passaggio -1, che inverte in modo efficiente la stringa.

  • Denominazione delle variabili: i commenti possono condizionare i suggerimenti di Copilot sui nomi delle variabili, rendendoli più descrittivi e appropriati per il contesto.

    Screenshot del testo suggerito per il completamento automatico del nome della variabile.

    Qui è presente un commento che descrive un elenco dei libri preferiti dell'utente. Copilot probabilmente suggerirà nomi di variabili descrittivi che corrispondono al contesto. In questo caso, è stato suggerito come nome della variabile "favorite_books" che descrive in modo chiaro il contenuto dell'elenco.

  • Selezione dell'algoritmo: quando i commenti descrivono un algoritmo o un approccio specifico, Copilot può suggerire codice conforme a tale metodo.

    Screenshot del testo suggerito per il completamento automatico del nome dell’algoritmo.

    Nell'esempio precedente vengono forniti commenti che descrivono i passaggi dell'algoritmo di ordinamento a bolla. In base a questi commenti, Copilot probabilmente suggerirà un'implementazione che segue attentamente i passaggi descritti.