Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Visual Studio Code e AI

Scopriamo come integrare in Visual Studio Code gli strumenti per il coding basati sull'intelligenza artificiale.
Scopriamo come integrare in Visual Studio Code gli strumenti per il coding basati sull'intelligenza artificiale.
Link copiato negli appunti

L'intelligenza artificiale sta letteralmente "invadendo" il nostro mondo. Ogni giorno emergono nuove piattaforme che consentono di creare ogni genere di contenuti utilizzando immagini o semplici prompt testuali. Vediamo quindi come integrare l'AI nel nostro editor preferito, Visual Studio Code.

Github Copilot

La prima implementazione di intelligenza artificiale al servizio del codice è sicuramente quella di Github Copilot, creata da Microsoft utilizzando come base i dati dei repository open source di Github (che ricordiamo essere di sua proprietà).

Installazione ed accesso

Per utilizzarlo sono necessari diversi passaggi, iniziando dall'installazione dell'omonima estensione GitHub.copilot.

Estensione Copilot dallo store

Una volta termina l'installazione è necessario accedere con il proprio account di Github, come notificato in basso a destra.

notifica di signin github da Visual Studio Code

Nel caso in cui ci si fosse persi la notifica, si ricorda che è possibile premere il simbolo della campanellina che aprirà tutte le notifiche inviate dall'IDE e non dismesse o risolte dall'utente

recuperare le notifiche da Visual Studio Code

Se ancora non dovesse apparire, si deve cliccare l'icona con l'omino sul pannello sinistro, in basso sulla sinistra

Menu di accesso di github da vscode

Cliccare quindi sulla voce "Acce4dere con Github per usare Github Copilot (1)"

sotto menu di accesso di github da vscode

A questo punto si deve seguire quanto indicato dall'IDE per effettuare l'accesso con Github, verrà aperta una finestra nel browser dalla quale accedere a Github. A fine processo ci sarà un reindirizzamento automatico verso l'editor.

Ora ci si deve spostare sul proprio profilo Github e nelle sue impostazioni. Nell'interfaccia Web di Github, in alto a destra, vi è la foto profilo.

aprire il menu del profilo github

Una volta cliccato sul collegamento verrà visualizzato il menu a comparsa da dove cliccare sulla voce "Settings".

accedere alle impostazioni di github

Si deve quindi cliccare sulla sezione di Copilot in basso a sinistra e scegliere le proprie preferenze per l'assistente.

Impostare la prima opzione su Allow, abilitare la seconda spunta e premere Save

A questo punto si dovrebbe essere in grado di utilizzare Copilot ed è bene controllare che l'icona nella status bar in basso a destra non sia sbarrata.

L'icona in basso a destra di visual studio code con il bot indica copilot attivo

Se lo fosse, cliccandoci sopra si potranno capire gli impedimenti che non consentono l'avvio corretto dell'estensione. È possibile inoltre riavviare l'IDE in caso di malfunzionamenti.

Utilizzo

L'estensione di Copilot può essere utilizzata essenzialmente in due modi:

  • tramite suggerimenti in linea durante la digitazione del codice;
  • tramite i suggerimenti del pannello, dove vengono caricati 10 suggerimenti alla volta.

In entrambi i casi è necessario sapere cosa scrivere per ottenere i giusti suggerimenti.

Utilizzo in linea

Una volta attivata correttamente l'estensione l'utilizzo in linea viene da sé. In base al linguaggio, al contesto e anche a cosa si sta iniziando a scrivere, l'editor dovrebbe suggerire l'istruzione più adatta in totale autonomia.

Esempio di suggerimento in linea di copilot

Il suggerimento viene scritto in grigio a destra del cursore, per accettare la proposta si può agire in due modi:

  • con il tasto TAB si accetta l'intero suggerimento;
  • premendo il tasto CTRL e con la freccia verso destra si possono accettare pezzo per pezzo i suggerimenti uno dopo l'altro (utile se si deve operare una review).

L'autocomplete Panel

Il pannello di autocompletamento è uno strumento di gran lunga superiore a quello in linea, invece di dare un solo suggerimento ne fornisce 10 in un pannello da separato, da selezionare poi successivamente.

Per utilizzarlo si deve aprire il pannello dei comandi con la scorciatoia CTRL+Shift+P per poi digitare al suo interno "Open completions panel" e selezionare l'opzione che ne risulta.

le opzioni di copilot Control panel di visual studio code

Si aprirà lateralmente un pannello contenente 10 esempi riguardo a come completare il codice che si sta scrivendo.

Esempio di autocomplete panel di copilot

Per accettare la soluzione basta premere su "Accept Solution". Questo approccio è molto potente, tanto da permettere di creare un'intera soluzione basandosi su un solo commento.

Per accettare la soluzione premere su Accept solution nel pannello

ChatGPT

La rivoluzione più nota in ambito AI è stata sicuramente quella portata da ChatGPT. Esistono ovviamente tante estensioni per utilizzare ChatGPT su Visual Studio Code, quella che mostrerò è ChatGPT - EasyCode.

EasyCode

Quest'estensione utilizza una sua implementazione di ChatGPT e in particolare di GPT 3.5 e GPT 4. Per utilizzare il servizio tramite account ci si dovrà registrare su EasyCode e non si potrà eseguire l'accesso con le credenziali di OpenAI. L'id dell'estensione è EasyCodeAI.chatgpt-gpt4-gpt3-vscode.

Estensione ChatGPT Easy Code dal market store

Configurazione

Una volta installato EasyCode sarà necessario attivarlo. Si aprirà innanzitutto il control panel dei comandi di Visual Studio Code in cui scrivere "Mostra ChatGPT". Cliccando la prima opzione si aprirà il pannello laterale dell'estensione.

Si può aprire l'estensione o da control panel o dall'icona del pannello laterale di visual studio code

Da qui si può decidere se loggarsi senza account o registrarsi ed accedere. In base alla scelta effettuata si può premere una delle opzioni presenti in alto nel pannello.

Si può accedere facendo login o senza account

Uso di EasyCode

Qualunque sia la scelta, una volta concluso l'accesso al pannello di EasyCode è possibile porre domande tramite un apposito box.

Per fare una domanda a easy code scrivere nel box nell'interfaccia modificata

Si possono anche modificare alcuni parametri come la versione di GPT, scegliere di interagire con il Web o utilizzare la propria codebase nella risposta.

Nel pannello si possono abilitare diverse opzioni come ask code base, ask web e il tipo di GPT usato

Dopo aver posto una domanda basta premere l'icona a forma di aereoplanino di carta, inviarla al server e aspettare la risposta.

Per inviare una domanda cliccare sull'icona a forma di aereoplanino in basso a destra all'interno del box delle domande

In alternativa si può premere il tasto Invio, poco dopo il risultato dovrebbe essere visibile in basso nel pannello stesso.

L'esempio uscirà proprio sotto il box domande

Esistono comunque altri modi per utilizzare quest'estensione, ad esempio tramite il control panel (CONTROL + SHIFT + P). Dopo averlo aperto si deve digitare ASK GPT e visualizzare le opzioni risultanti.

Altre tipologie specifiche di interazioni si possono avere aprendo il contro panel e scrivendo ASK GPT

Tralasciando la prima opzione, che rimanda al box indicato in precedenza, le altre sono:

  • Fix Bug: richiede un input da parte dell'utente, nella fattispecie il tipo di errore riscontrato. Quindi utilizza il codice (meglio se preselezionato) per spiegare la possibile causa dell'errore.
  • How is this used?: selezionando una variabile o un metodo restituisce il modo in cui viene utilizzato all'interno del codice.
  • Refactor Code: suggerisce un possibile refactory del codice.
  • What does this do?: spiega il funzionamento del codice.
  • What does this file do?: chiede il senso generale del codice nel file.
  • Write Code: richiede un input da parte dell'utente, nella fattispecie la descrizione di quello che si vuole generare. Tenterà poi di generare il codice richiesto.
  • Write Unit Tests: scrive le unit test per il codice evidenziato.

Tutte le opzioni copiano e incollano il codice nel box delle richieste e pongono in autonomia la domanda. Conviene quindi attivare l'opzione "Ask Codebase" per avere il miglior risultato possibile. Molte opzioni prevedono inoltre un testo preselezionato.

Ecco un esempio basato sull'opzione "How is this used":

Esempio di funzione HOW IT USED

Un breve confronto

In conclusione di questo articolo vorrei evidenziare che, a mio parere, lo strumento più utile in ambito di programmazione è Copilot. La perfetta integrazione con l'IDE, ma anche la capacità di leggere automaticamente la codebase per fornire risposte utili nel contesto, sono elementi fondamentali che permettono di non perdersi nelle risposte a volte senza alcun nesso logico dell'IA.

Ovviamente entrambe le soluzioni descritte presentano dei difetti ed il codice autogenerato deve essere sempre sottoposto ad un'accurata analisi.

Ti consigliamo anche