Generare codice usando GitHub Copilot suggerimenti di completamento del codice
GitHub Copilot può fornire suggerimenti di completamento del codice per numerosi linguaggi di programmazione e un'ampia gamma di framework, ma funziona particolarmente bene per Python, JavaScript, TypeScript, Ruby, Go, C# e C++. I completamenti della riga di codice vengono generati in base al contesto del codice che si sta scrivendo. È possibile accettare, rifiutare o accettare parzialmente i suggerimenti forniti da GitHub Copilot.
GitHub Copilot offre due modi per generare completamenti della riga di codice:
Da un commento: è possibile generare completamenti della riga di codice scrivendo un commento che descrive il codice da generare. GitHub Copilot fornisce suggerimenti di completamento del codice in base al commento scritto.
Dal codice: è possibile generare completamenti della riga di codice avviando una riga di codice o premendo INVIO dopo una riga di codice completata. GitHub Copilot fornisce suggerimenti di completamento del codice in base al codice scritto.
Usare GitHub Copilot per generare completamenti della riga di codice da un commento
GitHub Copilot genera suggerimenti di completamento del codice in base al commento e al contesto esistente dell'app.
È possibile usare i commenti per descrivere frammenti di codice, metodi, strutture di dati e altri elementi di codice.
Si supponga di avere il frammento di codice seguente:
namespace ReportGenerator;
class QuarterlyIncomeReport
{
static void Main(string[] args)
{
// create a new instance of the class
QuarterlyIncomeReport report = new QuarterlyIncomeReport();
// call the GenerateSalesData method
// call the QuarterlySalesReport method
}
public void QuarterlySalesReport()
{
Console.WriteLine("Quarterly Sales Report");
}
}
Ad esempio, è possibile usare il commento seguente per creare una struttura di dati:
/* public struct SalesData. Include the following fields: date sold, department name, product ID, quantity sold, unit price */
GitHub Copilot genera uno o più suggerimenti di completamento del codice in base al commento del codice e ai file di codice aperti nell'editor.
Si notino i tipi di dati usati per dichiarare i campi della struttura dei dati. GitHub Copilot seleziona i tipi di dati e i nomi delle variabili in base al codice esistente e al commento del codice. GitHub Copilot tenta di determinare il modo in cui l'applicazione usa le variabili e definisce di conseguenza i tipi di dati.
Quando GitHub Copilot genera più suggerimenti, è possibile scorrere i suggerimenti selezionando le frecce sinistra o destra (> o <) a sinistra del pulsante Accept. In questo modo è possibile esaminare e selezionare il suggerimento più adatto alle proprie esigenze.
È possibile accettare un suggerimento di completamento del codice che non corrisponde esattamente a ciò che si vuole. Tuttavia, le modifiche necessarie per "correggere" il suggerimento deve essere chiaro. In questo caso, alcuni tipi di dati non sono quello desiderato, ma è possibile modificarli dopo aver accettato il completamento automatico suggerito.
Se nessuna delle opzioni suggerite è simile a quella necessaria, è possibile provare due cose. Per aprire una nuova scheda dell'editor contenente un elenco di altri suggerimenti, premere i tasti CTRL + INVIO . Questa combinazione di tasti di scelta rapida apre una nuova scheda contenente fino a 10 altri suggerimenti. Ogni suggerimento è seguito da un pulsante che è possibile usare per accettare il suggerimento. La scheda viene chiusa automaticamente dopo aver accettato un suggerimento. L'altra opzione consiste nel premere ESC per ignorare i suggerimenti e riprovare. È possibile modificare il commento del codice in modo da fornire più contesto per GitHub Copilot da usare.
Annotazioni
GitHub Copilot può occasionalmente proporre un suggerimento in fasi. In questo caso è possibile premere INVIO per visualizzare le fasi aggiuntive del suggerimento dopo aver premuto il tasto TAB.
Per accettare una struttura di dati suggerita, premere TAB o selezionare Accetta.
Per modificare i tipi di dati dei campi, aggiornare il codice nel modo seguente:
public struct SalesData
{
public DateOnly dateSold;
public string departmentName;
public int productID;
public int quantitySold;
public double unitPrice;
}
Apportare modifiche rapide ai suggerimenti di completamento del codice consente di assicurarsi di compilare il codice desiderato. È particolarmente importante apportare correzioni all'inizio del processo di sviluppo quando è ancora necessario sviluppare parti elevate della codebase. I completamenti del codice successivi sono basati sul codice già scritto, quindi è importante assicurarsi che il codice sia il più accurato possibile.
Usare i suggerimenti di modifica successivi per seguire le modifiche al codice
I completamenti automatici del testo sono ideali per compilare nuovo codice durante la scrittura. Ma la maggior parte della codifica quotidiana comporta la modifica del codice esistente , ovvero la ridenominazione di una variabile, l'aggiornamento di un tipo di dati o la correzione di un errore di logica. i suggerimenti di modifica successivi (NES) di GitHub Copilot sono progettati esattamente per questo scenario.
Quando si apporta una modifica, NES analizza la modifica e stima sia dove deve avvenire la modifica successiva che quale modifica deve essere, anche se si trova in una riga diversa o in una parte diversa del file. In questo modo si mantiene nel flusso senza dover cercare manualmente ogni posizione che richiede aggiornamenti.
Per abilitare i suggerimenti di modifica successivi, impostare l'impostazione github.copilot.nextEditSuggestions.enabled su true in Visual Studio Code.
Dopo l'abilitazione, è possibile usare NES nei modi seguenti:
Apportare una modifica nell'editor, ad esempio rinominare una variabile o modificare una firma del metodo.
Cerca la freccia del margine che appare a sinistra dell'editor. La freccia punta verso la posizione della modifica suggerita successiva.
Premere TAB per passare alla posizione di modifica suggerita.
Premere di nuovo TAB per accettare il suggerimento o premere ESC per ignorarlo.
Ecco alcuni scenari comuni in cui NES è particolarmente utile:
- Rinomina propagazione: rinominare una variabile una volta e NES suggerisce di aggiornare ogni altro riferimento al file.
- Modifiche al tipo: modificare il tipo di dati di un campo e NES suggerisce di aggiornare il codice downstream che lo usa.
- Correzioni logiche: correggere una condizione invertita o un errore di digitazione in una parola chiave e NES contrassegna la sezione del codice correlata che richiede aggiornamenti.
- Refactoring: dopo aver copiato e incollato un blocco di codice, NES suggerisce come adattarlo in base allo stile del codice circostante.
Annotazioni
I suggerimenti di modifica successivi prevedono la modifica più probabile in base alle modifiche correnti. Esaminare sempre ogni suggerimento prima di accettarlo, perché la correzione corretta per lo scenario specifico può essere diversa.
Riassunto
I completamenti della riga di codice sono una potente funzionalità di GitHub Copilot che consente di generare codice in modo rapido ed efficiente. Usando i commenti per descrivere il codice da generare, è possibile creare strutture di dati, metodi e altri elementi di codice con un impegno minimo. Inoltre, GitHub Copilot può generare completamenti di riga di codice in base al codice immesso, consentendo di compilare applicazioni complesse con facilità.