GitHub Copilot Chat
GitHub Copilot Chat è una funzionalità avanzata dell'ecosistema Di GitHub Copilot, progettata per offrire agli sviluppatori un assistente interattivo di intelligenza artificiale conversazionale direttamente all'interno dell'ambiente di sviluppo. Consente agli sviluppatori di avere conversazioni in linguaggio naturale sul codice, porre domande e ricevere risposte intelligenti e suggerimenti in tempo reale. In questa unità verranno illustrati i seguenti argomenti:
- Come generare codice usando GitHub Copilot Chat.
- Debug con GitHub Copilot Chat.
- Come ottenere spiegazioni sul codice usando GitHub Copilot Chat.
- Usare i comandi slash per eseguire azioni con GitHub Copilot.
- Usare agenti GitHub Copilot personalizzati per migliorare le richieste.
Per accedere a Copilot nell'ambiente di sviluppo integrato (IDE), fare clic sull'icona della chat sulla barra di spostamento a sinistra.
GitHub Copilot Chat è utile in alcuni scenari:
Generazione di codice complesso Quando è necessario implementare algoritmi complessi, strutture dati o generare codice standard per modelli di progettazione specifici, Copilot Chat può aiutare a semplificare il processo. Può essere utile per creare espressioni regolari complesse, costruire query SQL dettagliate o sviluppare strutture di dati avanzate come un ordinamento a bolle in Python.
Assistenza per il debug Se si riscontrano errori nel codice, Copilot Chat è utile per analizzare i messaggi di errore e suggerire possibili soluzioni. Può aiutare a identificare gli errori logici e fornire spiegazioni dettagliate delle sezioni problematiche del codice. Un modo per ottenere questo risultato consiste nell'usare la chat inline di Copilot evidenziando il frammento di codice contenente l'errore, facendo clic con il pulsante destro del mouse e selezionando Copilot, quindi inline-chat.
Ad esempio, si potrebbe chiedere: "Con questo metodo ottengo
NullReferenceException. Puoi aiutarmi a eseguire il debug?"
Spiegazioni del codice Copilot Chat può essere usata anche per comprendere meglio i frammenti di codice complessi. Può scomporre il codice in termini più semplici, spiegare lo scopo e la funzionalità di un codice sconosciuto e offrire indicazioni sulle procedure consigliate e le potenziali ottimizzazioni. Ad esempio, si potrebbe chiedere: - "Puoi spiegare come funziona questo codice async/await in Python?"
Come migliorare le risposte alla chat di GitHub Copilot
È possibile migliorare in modo significativo la qualità e la pertinenza delle risposte di GitHub Copilot Chat con alcune funzionalità principali. Approfondiamo.
Riferimento di ambito
Per migliorare l'accuratezza e la pertinenza delle risposte fornite dalla Chat di GitHub Copilot, è importante definire correttamente l'ambito delle domande utilizzando i riferimenti. Di seguito viene indicato come procedere:
Riferimenti del file: è possibile specificare un particolare file nella domanda aggiungendo
#file:prima del nome del file.Ad esempio, se si sta lavorando con un file denominato
controller.js, si può usare il comando #file per selezionarlo e fare riferimento direttamente alla domanda come#file:controller.js. Questa funzionalità indica a Copilot Chat di concentrarsi sul contenuto del file durante la generazione di una risposta.Riferimenti ambientali: è possibile fare riferimento all'intera soluzione o all'area di lavoro usando
@workspace. Questa funzionalità consente a Copilot Chat di considerare il contesto più ampio dei progetti e delle configurazioni attualmente aperti nell'IDE di Visual Studio. Ad esempio, la richiesta di "@workspace dov'è la funzione di calcolo?" richiede a Copilot di prendere in considerazione l'intera soluzione per trovare le informazioni più rilevanti.
Comandi slash
I comandi Slash in GitHub Copilot Chat consentono di specificare rapidamente l'intento della query. Ciò può migliorare significativamente la qualità delle risposte ricevute, rendendo le richieste più mirate. Ecco alcuni comandi slash comunemente usati:
/doc: aggiunge commenti al codice specificato o selezionato. Ad esempio, è possibile digitare
/docseguito dal codice da documentare e Copilot genera commenti appropriati./explain: fornisce spiegazioni per il codice selezionato. Questo comando è utile quando è necessario comprendere le operazioni di un particolare frammento di codice. Ad esempio,
/explain the #file:controller.jsfornisce una spiegazione dettagliata del file./fix: propone correzioni per i problemi del codice selezionato. Se si riscontrano problemi, è possibile evidenziare la sezione problematica e usare
/fixper ricevere suggerimenti per risolvere il problema./generate: aiuta a generare nuovo codice in base ai requisiti. Ad esempio,
/generate code to find the root of a number in client.jscrea una funzione per eseguire l'attività./optimize: analizza e suggerisce miglioramenti al tempo di esecuzione o all'efficienza del codice selezionato. Ad esempio,
/optimize thecalcolaremethod in controller.jssi concentra sul miglioramento delle prestazioni di quel metodo specifico./tests: crea automaticamente test unitari per il codice selezionato. Si può semplicemente evidenziare il codice e usare
/tests using Mochaper generare i test.
Selezione del modello e funzionalità Premium
GitHub Copilot Chat offre diversi modelli di intelligenza artificiale per ottimizzare il flusso di lavoro di sviluppo. Alcuni ambienti offrono opzioni di selezione del modello che consentono di scegliere tra diversi livelli di funzionalità in base alle esigenze specifiche:
Modelli standard (GPT-4o):
- Fornire risposte veloci e affidabili per la maggior parte delle attività di sviluppo
- Consuma 1 PRU per richiesta
- Ideale per l'assistenza per la codifica di routine, le spiegazioni del codice e il debug di base
- Esempi: generazione di funzioni semplici, guida alla sintassi, suggerimenti di refactoring di base
Modelli Premium (o1-preview, o1-mini):
- Offrire funzionalità di ragionamento avanzate per problemi complessi
- Utilizzare 2 PRU per richiesta (doppia tariffa standard)
- Più adatto per analisi sofisticate, algoritmi complessi e decisioni architetturali
- Esempi: debug avanzato di codice multithreading, progettazione di algoritmi complessi, analisi della sicurezza
Quando si lavora su problemi complessi che richiedono un ragionamento approfondito, i modelli Premium possono fornire un'analisi più approfondita e soluzioni complete. Tuttavia, considerate l'utilizzo di PRU quando selezionate modelli per diversi tipi di attività.
Annotazioni
L'uso di modelli Premium (o1-preview, o1-mini) utilizza 2 UR anziché 1 per la stessa richiesta. Monitorare le indennità mensili e scegliere il modello appropriato in base alla complessità delle attività. Per informazioni dettagliate sull'utilizzo e sui limiti di PRU, consultare la sezione Richieste nella documentazione di GitHub Copilot.
Agenti Copilot
Gli agenti di GitHub Copilot sono strumenti personalizzati che si possono creare e integrare con GitHub Copilot Chat per fornire funzionalità aggiuntive su misura per le esigenze specifiche. Oltre ai comandi slash, è possibile usare agenti specifici all'interno di Copilot Chat nell'IDE per gestire attività diverse:
@workspace: questo agente consente di estendere il contesto delle domande poste a Copilot all'intero progetto. È utile per ottenere il codice generato che si adatta immediatamente al progetto, usando le informazioni dell'intero progetto. Può anche essere usato per ottenere risposte sull'intera base di codice.
È anche possibile usare l'azione intelligente "@workspace /new", che consente di generare un progetto completamente nuovo da zero in base alle esigenze. Ad esempio, "@workspace /new generano nuove pagine di file HTML e JavaScript per calcoli avanzati"
Fare clic su “Crea area di lavoro” per procedere alla generazione del codice e avere così il nuovo progetto con il codice richiesto.
@terminal: questo agente è utile per le domande relative alla riga di comando. Ad esempio, gli si potrebbe chiedere di trovare il file più grande in una directory o di spiegare l'ultimo comando eseguito.
@vscode: usare questo agente per fare domande relative a Visual Studio Code, ad esempio su come eseguire il debug o modificare le impostazioni nell'IDE.
Usando in modo efficace questi strumenti e queste tecniche, è possibile migliorare significativamente la qualità delle risposte ricevute da GitHub Copilot Chat, rendendo l'esperienza di scrittura del codice più efficiente e produttiva.
Annotazioni
Gli agenti avanzati, ad esempio @workspace e operazioni complesse, possono usare più Unità di richiesta Premium. Le query semplici usano in genere 1 PRU, mentre l'analisi complessa dell'area di lavoro o la generazione di progetti possono usare 2-5 PRU. Per informazioni aggiornate sul consumo di PRU, sulle quote mensili e sui limiti di frequenza, fare riferimento alla Documentazione sulle richieste in GitHub Copilot.
Condivisione di feedback su GitHub Copilot Chat
La maggior parte degli IDE con integrazione di Copilot Chat dispone di meccanismi di feedback integrati. Ad esempio, in Visual Studio Code è possibile trovare opzioni di feedback all'inizio dei suggerimenti di GitHub Copilot Chat. Passare il puntatore del mouse su un suggerimento e visualizzare i pulsanti "thumbs up" e "thumbs down".
Fare clic sul pollice in su per valutare un suggerimento come utile.
Fare clic sul pollice in giù per valutare una risposta non utile.