Guida introduttiva: Usare i completamenti in linea di GitHub Copilot nei file SQL

I completamenti inline sono i suggerimenti di ghost text che compaiono mentre digiti in un file .sql. Provengono dal modello di GitHub Copilot e sono utili per completare modelli SQL comuni durante la digitazione. Questo articolo spiega cosa offrono i completamenti inline, il loro limite principale (non vedono lo schema del database) e quando usare il partecipante della@mssql chat per ottenere invece suggerimenti basati sullo schema.

I completamenti inline non visualizzano lo schema del database connesso. Vengono generati direttamente dal modello di GitHub Copilot, senza accesso al contesto dello schema dell'estensione MSSQL. Per ottenere suggerimenti basati sullo schema durante la scrittura di query SQL, usa il @mssql partecipante chat. Per il motivo dell'architettura, vedere Funzionamento GitHub Copilot con l'estensione MSSQL.

Messaggi chiave:

  • I completamenti inline generano testo fantasma durante la digitazione nell'editor.
  • Sono utili per modelli di Transact-SQL generici (T-SQL) (join, SELECT clausole, funzioni comuni).
  • Non fanno riferimento allo schema del database connesso.
  • Per i completamenti basati sullo schema, usa il @mssql partecipante chat anziché i completamenti inline.
  • L'icona dell'azione intelligente e i tasti di scelta rapida CTRL+I richiamano GitHub Copilot sul codice selezionato. Completano i completamenti in linea.

Prerequisiti

Assicurarsi di essere connessi a un database e di aprire una finestra dell'editor attivo con l'estensione MSSQL. Quando ci si connette, il partecipante della @mssql chat comprende il contesto dell'ambiente di database e può fornire suggerimenti accurati e in grado di riconoscere il contesto. Se non ci si connette a un database, il partecipante alla chat non ha lo schema o il contesto dei dati per fornire risposte significative.

Gli esempi seguenti usano il AdventureWorksLT2022 database di esempio, che è possibile scaricare dalla home page degli esempi di Microsoft SQL Server e dei progetti della community .

Per ottenere risultati ottimali, modificare i nomi di tabella e schema in modo che corrispondano al proprio ambiente.

Assicurarsi che la chat includa il @mssql prefisso. Ad esempio, digitare @mssql seguito dalla domanda o dal prompt. Questo prefisso garantisce che il partecipante della chat comprenda che si sta chiedendo assistenza correlata a SQL.

Cosa offrono i completamenti in linea

Quando si digita un .sql file con GitHub Copilot abilitato, viene visualizzato il testo fantasma inline. Accettare con Tab o Enter; ignorare continuando a digitare.

I completamenti inline sono utili per:

  • Completamento di modelli comuni (SELECT * FROM, INNER JOIN ... ON, WHERE x = ?).
  • Completamento degli identificatori parziali già digitati nel file.
  • Generazione di boilerplate per costrutti SQL noti.

I completamenti inline non sono efficaci per:

  • Uso di nomi reali di tabella o di colonna dal database (indovinano in base al contesto).
  • Rispetto dello schema o delle relazioni effettive del database.
  • Utilizzo del contesto dello schema del partecipante alla chat @mssql.

Perché i completamenti inline non sono consapevoli dello schema

L'API di completamento inline di Visual Studio Code è di fatto limitata a un solo provider per un determinato documento. Quando GitHub Copilot è abilitato, le estensioni di terze parti (inclusa l'estensione MSSQL) non possono contribuire al testo fantasma compatibile con lo schema per i file SQL. Il testo fantasma proviene direttamente dal modello GitHub Copilot.

Si tratta di un comportamento della piattaforma, non di una limitazione dell'estensione MSSQL. Per la spiegazione completa, vedere Funzionamento di GitHub Copilot con l'estensione MSSQL.

Ottenere suggerimenti con riconoscimento dello schema durante la scrittura di SQL

Per ottenere suggerimenti che fanno riferimento alle tabelle, colonne e relazioni effettive, usa il @mssql partecipante alla chat. Indirizzo @mssql nella chat:

@mssql Write a T-SQL query that lists customers from SalesLT.Customer
who placed an order in the last 30 days.

Il partecipante della chat include i metadati dello schema nella richiesta, quindi i suggerimenti fanno riferimento a oggetti reali nel database.

Usa l'icona Azione intelligente

Quando si seleziona SQL nell'editor, accanto alla selezione viene visualizzata l'icona ✨ dell'azione intelligente . Selezionarlo per aprire un menu breve:

  • Modifica con Copilot: riscrivi la selezione con un suggerimento in linea.
  • Spiegare: ottenere una spiegazione in linguaggio naturale dell'istanza di SQL selezionata.
  • /doc: Genera commenti di documentazione per la selezione.
  • /fix: suggerisci correzioni per i problemi nella selezione.

Quando si seleziona Rivedi usando GitHub Copilot, viene visualizzata una raccomandazione inline:

Screenshot che mostra una raccomandazione inline di GitHub Copilot per l'ottimizzazione di una query SQL in Visual Studio Code.

Usare i tasti di scelta rapida

Richiamare GitHub Copilot inline con:

  • Ctrl+I in Windows e Linux
  • Cmd+I su macOS

Viene visualizzata una casella di richiesta inline in cui è possibile porre domande o richiedere modifiche alla query.

Screenshot della chiamata di GitHub Copilot usando i tasti di scelta rapida CTRL più I in Visual Studio Code.

Completamento inline e la chat: guida alla scelta

Se vuoi... Utilizzo
Completare un modello SQL comune durante la digitazione Completamenti in linea
Ottieni una query basata sullo schema @mssql Chat
Modificare una query evidenziata Icona azione intelligente
Avere una conversazione a più turni sullo schema @mssql Chat
Richiamare GitHub Copilot in un nuovo prompt inline Ctrl+I / Cmd+I

Condividere la propria esperienza

Per ottimizzare e migliorare GitHub Copilot per l'estensione MSSQL, usare il modello di problema GitHub seguente per inviare commenti e suggerimenti: Commenti e suggerimenti su GitHub Copilot

Quando si inviano commenti e suggerimenti, è consigliabile includere:

  • Scenari testati: segnalare le aree su cui ci si è concentrati, ad esempio la creazione dello schema, la generazione di query, la sicurezza, la localizzazione.

  • Cosa ha funzionato bene: descrivere tutte le esperienze che si sono sentite fluide, utili o superate le aspettative.

  • Problemi o bug: includere eventuali problemi, incoerenze o comportamenti confusi. Screenshot o registrazioni dello schermo sono particolarmente utili.

  • Suggerimenti per il miglioramento: condividere idee per migliorare l'usabilità, espandere la copertura o migliorare le risposte di GitHub Copilot.