GitHub Copilot Chat

Completato

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.

Screenshot di Chat.

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.

    Screenshot della generazione del codice della chat.

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

    Screenshot del debug della chat del codice di selezione.

    Ad esempio, si potrebbe chiedere: "Con questo metodo ottengo NullReferenceException. Puoi aiutarmi a eseguire il debug?"

    Screenshot del debug del codice di generazione della chat.

  • 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?"

    Screenshot delle spiegazioni del codice della chat.

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.

    Screenshot del file di ambito della chat che fa riferimento al pick.

    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.

    Screenshot del riferimento al file di ambito della chat.

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

    Screenshot del riferimento all'area di lavoro dell'ambito della chat.

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 /doc seguito dal codice da documentare e Copilot genera commenti appropriati.

    Screenshot dei comandi slash /doc.

  • /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.js fornisce una spiegazione dettagliata del file.

    Screenshot dei comandi slash /explain.

  • /fix: propone correzioni per i problemi del codice selezionato. Se si riscontrano problemi, è possibile evidenziare la sezione problematica e usare /fix per ricevere suggerimenti per risolvere il problema.

    Screenshot dei comandi slash /fix.

  • /generate: aiuta a generare nuovo codice in base ai requisiti. Ad esempio, /generate code to find the root of a number in client.js crea una funzione per eseguire l'attività.

    Screenshot dei comandi slash /generate.

  • /optimize: analizza e suggerisce miglioramenti al tempo di esecuzione o all'efficienza del codice selezionato. Ad esempio, /optimize the calcolare method in controller.js si concentra sul miglioramento delle prestazioni di quel metodo specifico.

    Screenshot dei comandi slash /optimize.

  • /tests: crea automaticamente test unitari per il codice selezionato. Si può semplicemente evidenziare il codice e usare /tests using Mocha per generare i test.

    Screenshot dei comandi slash /tests.

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.

    Screenshot del comando dell'agente `@workspace`.

    È 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"

    Screenshot del comando dell'agente `@workspace \new`.

    Fare clic su “Crea area di lavoro” per procedere alla generazione del codice e avere così il nuovo progetto con il codice richiesto.

    Screenshot del nuovo progetto di spazio di lavoro generato.

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

    Screenshot del comando dell'agente `@terminal`.

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

    Screenshot del comando dell'agente `@vscode`.

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

Screenshot dei pulsanti utili con il pollice in su.

Fare clic sul pollice in su per valutare un suggerimento come utile.

Screenshot del pollice in giù non utile.

Fare clic sul pollice in giù per valutare una risposta non utile.