Introduzione all'uso di Copilot
Categories:
- Funzionalità Copilot Labs
- Cos’è Copilot
- Comprensione
- Suggerimenti
- Debug
- Revisione
- Refactoring
- Documentazione
- Estensione dei limiti di Copilot tramite Custom
- Ottieni suggerimenti più professionali
- Suggerimenti in testo puro
- Opzioni di configurazione
- Sicurezza dei dati
- Domande frequenti
GitHub Copilot è uno strumento di completamento del codice basato sul machine learning che aiuta a scrivere codice più velocemente e aumentare l’efficienza della codifica.
Funzionalità Copilot Labs
| Funzionalità | Descrizione | Note | esempio |
|---|---|---|---|
Explain |
Genera spiegazioni per frammenti di codice | Opzioni avanzate per personalizzare i prompt, chiarire meglio le proprie esigenze | ![]() |
Show example code |
Genera codice di esempio per frammenti | Opzioni avanzate per personalizzare | ![]() |
Language Translation |
Genera traduzioni per frammenti di codice | Questa traduzione è basata su linguaggi di programmazione, ad esempio C++ -> Python | ![]() |
Readable |
Migliora la leggibilità di un codice | Non è semplice formattazione, è un vero miglioramento della leggibilità | ![]() |
Add Types |
Inferenza di tipi | Converte variabili con tipo automatico in tipi espliciti | ![]() |
Fix bug |
Corregge bug | Corregge alcuni bug comuni | ![]() |
Debug |
Rende il codice più facile da debuggare | Aggiunge log di stampa o variabili temporanee per i breakpoint | ![]() |
Clean |
Pulisce il codice | Rimuove parti inutili del codice, commenti/stampe/codice deprecato ecc. | ![]() |
List steps |
Elenca i passaggi del codice | Alcuni codici dipendono rigorosamente dall’ordine di esecuzione, necessario commentare chiaramente l’ordine | ![]() |
Make robust |
Rende il codice più robusto | Considera bordi/multithreading/ripetizione ecc. | ![]() |
Chunk |
Suddivide il codice in blocchi | Si spera che una funzione abbia meno di 50 righe efficaci, nidificazione <=4, fan-out <=7, complessità ciclomatica <=20 | ![]() |
Document |
Genera documentazione per il codice | Genera codice tramite commenti, oppure genera commenti e documentazione tramite codice | ![]() |
Custom |
Operazioni personalizzate | Indica a copilot come operare sul tuo codice | ![]() |
Cos’è Copilot
L’introduzione del sito ufficiale è semplice e diretta: Your AI pair programmer —— il tuo programmatore in coppia
Programmazione in coppia: è un metodo di sviluppo software agile, due programmatori lavorano insieme allo stesso computer: uno digita il codice, l’altro esamina ogni riga di codice. I ruoli si scambiano spesso, assicurando logica rigorosa e prevenzione dei problemi.
Copilot partecipa al lavoro di codifica attraverso i seguenti modi, realizzando il ruolo di programmatore in coppia.
Comprensione
Copilot è un grande modello linguistico, non può comprendere il nostro codice, e noi non possiamo comprendere il modello di Copilot, qui la comprensione è la comprensione reciproca tra un programmatore e un gruppo di programmatori. Tutti lavorano insieme basandosi su alcuni consensi per scrivere codice.

Copilot raccoglie informazioni per comprendere il contesto, le informazioni includono:
- Codice attualmente in modifica
- File associati
- File aperti dall’IDE
- Indirizzi delle librerie
- Percorsi dei file
Copilot non comprende solo tramite un commento, raccoglie abbastanza informazioni contestuali per capire cosa fare al passo successivo.
Suggerimenti
| Suggerimenti completi | Suggerimenti inline |
|---|---|
![]() |
![]() |
È ben noto che il modo più comune per ottenere suggerimenti è attraverso commenti descrittivi piuttosto che scrivere direttamente codice, guidando così GitHub Copilot a dare suggerimenti completi. Tuttavia ciò può causare ridondanza di commenti, i commenti non sono migliori se sono più numerosi, i commenti aiutano a capire, ma non sono il corpo del codice. Un buon codice è chiaro anche senza commenti, basandosi su nomi appropriati, progettazione ragionevole e logica chiara. Quando si usano suggerimenti inline, basta fornire nomi di variabili/funzioni/classi appropriati, Copilot fornirà sempre suggerimenti adatti.
Oltre agli input esterni appropriati, Copilot supporta anche suggerimenti basati su frammenti di codice esistenti, Copilot Labs->Show example code può aiutare a generare codice di esempio per funzioni specifiche, basta selezionare il codice e cliccare Show example code.
Ctrl+Enter, è sempre in grado di offrire molte intuizioni, ho creato tre file, un main.cpp vuoto, un calculator.h vuoto, in calculator.cpp implemento “addizione” e “sottrazione”, Copilot ha fornito i seguenti contenuti suggeriti:
- Aggiunta delle implementazioni “moltiplicazione” e “divisione”
- Chiamata delle implementazioni “addizione sottrazione moltiplicazione divisione” in main
- Metodo di creazione e utilizzo della libreria statica calculator
- Risultato dell’esecuzione della funzione main, e il risultato è corretto
- Contenuto suggerito per l’intestazione calculator.h
- Comando di compilazione g++
- Caso di test gtest
- Contenuto di CMakeLists.txt, comprensivo di test
- objdump -d main > main.s per visualizzare il codice assembly, mostrando il codice assembly
- ar per visualizzare il contenuto della libreria statica, mostrando il contenuto della libreria statica
Con la configurazione predefinita, ogni volta che si preme Ctrl+Enter i contenuti mostrati sono molto diversi, impossibile rivedere il contenuto generato la volta precedente, se si desidera un contenuto generato più stabile, si può impostare il valore di temperature[0, 1]. Minore è il valore, più stabile è il contenuto generato; maggiore è il valore, più imprevedibile è il contenuto generato.
I contenuti suggeriti sopra superano di gran lunga i contenuti suggeriti generali dell’uso quotidiano, potrebbe essere dovuto al fatto che il progetto è effettivamente troppo semplice, una volta scritti file di compilazione e intestazioni, i suggerimenti non saranno così numerosi, ma sono comunque spesso molto utili.
Scorciatoie per usare i suggerimenti di Copilotscorciatoie
| Azione | Scorciatoia | Nome comando |
|---|---|---|
| Accetta suggerimento inline | Tab |
editor.action.inlineSuggest.commit |
| Ignora suggerimento | Esc |
editor.action.inlineSuggest.hide |
| Mostra il prossimo suggerimento inline | Alt+] |
editor.action.inlineSuggest.showNext |
| Mostra il suggerimento inline precedente | Alt+[ |
editor.action.inlineSuggest.showPrevious |
| Attiva suggerimento inline | Alt+\ |
editor.action.inlineSuggest.trigger |
| Mostra più suggerimenti in un pannello separato | Ctrl+Enter |
github.copilot.generate |
Debug
Di solito due modi di debug, stampa e breakpoint.
- Copilot può aiutare a generare automaticamente codice di stampa, scegliendo il formato di stampa o log in base al contesto.
- Copilot può aiutare a modificare la struttura del codice esistente, fornendo posizioni di breakpoint convenienti. Alcuni codici in stile nidificato sono difficili da mettere breakpoint, Copilot può modificarli direttamente.
Copilot Labs ha le seguenti funzionalità preimpostate:
- Debug, genera codice di debug, ad esempio stampa, breakpoint e altri codici di debug.
Revisione
La revisione è reciproca, noi e copilot dobbiamo spesso revisionarci a vicenda, non credere ciecamente al codice generato rapidamente.
Copilot Labs ha le seguenti funzionalità preimpostate:
- Fix bug, corregge direttamente i bug che trova, è necessario prima salvare il proprio codice, controllare attentamente le modifiche di Copilot.
- Make robust, rende il codice più robusto, Copilot scopre situazioni non gestite, genera codice di miglioramento, dovremmo essere ispirati da ciò, pensare in modo più meticoloso.
Refactoring
Copilot Labs ha le seguenti funzionalità preimpostate:
- Readable, migliora la leggibilità, vera e propria leggibilità, non semplice formattazione, ma bisogna fare attenzione a controllare le modifiche di Copilot.
- Clean, rende il codice più pulito, rimuove codice ridondante.
- Chunk, rende il codice più facile da comprendere, suddivide il codice in blocchi, suddivide una grande funzione in più piccole funzioni.
Documentazione
Copilot Labs ha le seguenti funzionalità preimpostate:
- Document, genera documentazione, ad esempio commenti di funzione e altri documenti.
Estensione dei limiti di Copilot tramite Custom
Custom non è molto appariscente, ma dà a Copilot infinite possibilità. Possiamo considerarlo un nuovo linguaggio di programmazione, questo linguaggio di programmazione è inglese o cinese.
Puoi inserire tramite Custom
-
Rimuovi codice commentato

-
Aggiungi capacità di moltiplicazione e divisione

-
Riscrivi in go

-
Aggiungi calcolo di funzioni trigonometriche

-
Aggiungi calcolo differenziale, qui il cinese non funziona bene, usasupport calculate differential, in modalità bassa temperatura non ci sono risposte affidabili, in modalità alta temperatura ci sono alcune risposte assurde.
Nel lavoro quotidiano, puoi sempre presentare le tue esigenze a Copilot, attraverso la capacità Custom, puoi far sì che Copilot ti aiuti a completare molte operazioni desiderate.
Alcuni esempi:
| prompt | descrizione |
|---|---|
generate the cmake file |
genera file cmake |
generate 10 test cases for tan() |
genera 10 casi di test per tan() |
format like google style |
formatta come stile google |
consider boundary conditions |
considera condizioni al contorno |
confirm memory release |
conferma rilascio memoria |
L’uso di Custom è pieno di immaginazione, ma a volte non è affidabile, si consiglia di salvare il codice prima di usarlo, quindi controllare attentamente le modifiche effettuate.
Ottieni suggerimenti più professionali
Più chiari sono i prompt dati a Copilot, più accurati sono i suggerimenti che fornisce, prompt professionali possono ottenere suggerimenti più professionali. Molto codice inappropriato non influisce sulla compilazione del codice né sul funzionamento del business, ma influisce sulla leggibilità, manutenibilità, estensibilità e riutilizzo, queste caratteristiche sono anche molto importanti, se si desidera ottenere suggerimenti più professionali, è meglio conoscere i nomi inglesi delle migliori pratiche.
- In primo luogo utilizza inglese comprensibile, puoi imparare l’inglese guardando progetti open source.
- Convenzioni di denominazione, la denominazione è la definizione più basilare del concetto, una buona denominazione può evitare ambiguità, evitare che il lettore si immerga nei dettagli del business, aumentando così la leggibilità del codice, è anche una delle migliori pratiche.
- Di solito è sufficiente un nome di variabile ragionevole, Copilot può fornire un intero blocco di suggerimenti affidabili.
- Elenco di pattern di progettazione, i pattern di progettazione sono un modello per risolvere problemi, affrontando diversi problemi con scelte ragionevoli dei principi di progettazione SOLID, risparmiando tempo di progettazione delle soluzioni, migliorando la qualità del codice.
- È sufficiente scrivere il nome del pattern necessario, Copilot può generare un frammento di codice completo.
- Elenco di algoritmi, buoni algoritmi sono cristallizzazioni di alta intelligenza per risolvere una classe di problemi, gli sviluppatori devono astrarre il problema specifico, astrarre i dati e inserirli nell’algoritmo.
- Il codice degli algoritmi è solitamente generico, è sufficiente scrivere il nome dell’algoritmo, Copilot può generare frammenti di codice di algoritmi, e Copilot riesce sempre a integrare abilmente le strutture dati del contesto negli algoritmi.
Suggerimenti in testo puro
| en | zh |
|---|---|
| GitHub Copilot uses the OpenAI Codex to suggest code and entire functions in real-time, right from your editor. | GitHub Copilot utilizza OpenAI Codex per suggerire codice e funzioni intere in tempo reale, direttamente dal tuo editor. |
| Trained on billions of lines of code, GitHub Copilot turns natural language prompts into coding suggestions across dozens of languages. | Addestrato su miliardi di righe di codice, GitHub Copilot trasforma prompt in linguaggio naturale in suggerimenti di codifica attraverso dozzine di linguaggi. |
| Don’t fly solo. Developers all over the world use GitHub Copilot to code faster, focus on business logic over boilerplate, and do what matters most: building great software. | Non volare da solo. Gli sviluppatori di tutto il mondo utilizzano GitHub Copilot per codificare più velocemente, concentrarsi sulla logica di business piuttosto che sul boilerplate, e fare ciò che conta di più: costruire ottimo software. |
| Focus on solving bigger problems. Spend less time creating boilerplate and repetitive code patterns, and more time on what matters: building great software. Write a comment describing the logic you want and GitHub Copilot will immediately suggest code to implement the solution. | Concentrati sulla risoluzione di problemi più grandi. Passa meno tempo a creare boilerplate e modelli di codice ripetitivi, e più tempo su ciò che conta: costruire ottimo software. Scrivi un commento che descriva la logica che desideri e GitHub Copilot suggerirà immediatamente codice per implementare la soluzione. |
| Get AI-based suggestions, just for you. GitHub Copilot shares recommendations based on the project’s context and style conventions. Quickly cycle through lines of code, complete function suggestions, and decide which to accept, reject, or edit. | Ottieni suggerimenti basati su AI, solo per te. GitHub Copilot condivide raccomandazioni basate sul contesto e sulle convenzioni di stile del progetto. Scorri rapidamente attraverso righe di codice, completando suggerimenti di funzioni, e decidi quali accettare, rifiutare o modificare. |
| Code confidently in unfamiliar territory. Whether you’re working in a new language or framework, or just learning to code, GitHub Copilot can help you find your way. Tackle a bug, or learn how to use a new framework without spending most of your time spelunking through the docs or searching the web. | Codifica con sicurezza in territori sconosciuti. Che tu stia lavorando in un nuovo linguaggio o framework, o che tu stia solo imparando a codificare, GitHub Copilot può aiutarti a trovare la tua strada. Affronta un bug, o impara a usare un nuovo framework senza passare la maggior parte del tuo tempo a esplorare documenti o a cercare sul web. |
Queste traduzioni sono generate da Copilot, non si può determinare se questi suggerimenti sono basati su generazione di modelli o su comportamento di traduzione. In effetti qualsiasi contenuto inglese che scrivi nella colonna en della tabella può essere tradotto (generato) da Copilot nel contenuto della colonna zh.

Opzioni di configurazione
Opzioni di configurazione del client
| Opzione | Descrizione | Note |
|---|---|---|
| temperature | Temperatura di campionamento | 0.0 - 1.0, 0.0 genera frammenti di codice più comuni, 1.0 genera frammenti di codice meno comuni e più casuali |
| length | Lunghezza massima del suggerimento di codice | Default 500 |
| inlineSuggestCount | Numero di suggerimenti inline generati | Default 3 |
| listCount | Numero di suggerimenti generati | Default 10 |
| top_p | Mostra le prime N raccomandazioni per priorità | Mostra tutte le raccomandazioni possibili per default |
Le impostazioni dell’account personale hanno due impostazioni, una riguarda il copyright e l’altra la privacy.
- Se utilizzare codice open source per fornire suggerimenti, principalmente per evitare problemi di copyright nei frammenti di codice generati da Copilot, evitando restrizioni di licenza open source.
- Se consentire l’uso di frammenti di codice personali per migliorare il prodotto, evitando rischi di perdita di privacy.
Sicurezza dei dati
Raccolta informazioni di Copilot
- Versione commerciale
- Informazioni sull’uso delle funzionalità, potenzialmente contenenti informazioni personali
- Raccolta di frammenti di codice, immediatamente scartati dopo aver fornito suggerimenti, nessun frammento di codice conservato
- Condivisione dati, GitHub, Microsoft, OpenAI
- Versione personale
- Informazioni sull’uso delle funzionalità, potenzialmente contenenti informazioni personali
- Raccolta di frammenti di codice, dopo aver fornito suggerimenti, conservati o scartati in base all’impostazione di telemetria personale
- Frammenti di codice includono, codice attualmente in modifica, file associati, file aperti dall’IDE, indirizzi delle librerie, percorsi dei file
- Condivisione dati, GitHub, Microsoft, OpenAI
- Protezione dati codice, 1. Crittografia. 2. Parte del team Copilot correlata a Github/OpenAI può vedere. 3. Controllo degli accessi basato sui ruoli e autenticazione multifattoriale durante l’accesso
- Evitare che i frammenti di codice vengano utilizzati (conservati o addestrati), 1. Impostazioni 2. Contattare il team Copilot
- Il codice privato verrà utilizzato? No.
- Genererà informazioni personali (nome, compleanno ecc.)? Raro, ancora in miglioramento.
- Dichiarazione di privacy dettagliata
Domande frequenti
- Dati di addestramento di Copilot, provenienti da repository pubblici su Github.
- Il codice scritto da Copilot è perfetto? Non necessariamente.
- Può scrivere codice per nuove piattaforme? Capacità attualmente limitata.
- Come usare meglio Copilot? Suddividere il codice in piccole funzioni, descrivere la funzione della funzione in linguaggio naturale, nonché input e output, utilizzare nomi di variabili e funzioni con significati specifici.
- Il codice generato da Copilot avrà bug? Certamente non può essere evitato.
- Il codice generato da Copilot può essere utilizzato direttamente? Non necessariamente, a volte è necessario modificarlo.
- Il codice generato da Copilot può essere utilizzato in progetti commerciali? Sì.
- Il codice generato da Copilot appartiene alla proprietà intellettuale di Copilot? No.
- Copilot copia il codice dal set di addestramento? Copilot non copia codice, è estremamente improbabile che più di 150 righe di codice possano corrispondere al set di addestramento, questo accade in due casi:
- Quando le informazioni contestuali sono molto scarse
- È una soluzione generica per un problema
- Come evitare la ripetizione con codice pubblico, impostare filter

- Come utilizzare correttamente il codice generato da Copilot? 1. Testare/controllare autonomamente il codice generato; 2. Non compilare o eseguire automaticamente il codice generato prima del controllo.
- Copilot ha le stesse prestazioni in ogni lingua naturale? Migliori prestazioni in inglese.
- Copilot genererà contenuti offensivi? È già filtrato, ma non si esclude la possibilità che appaiano.














