lunedì 8 giugno 2009

Introduzione a Visual Basic 2010 - Le novità dell'IDE

 

Introduzione a Visual Basic 2010 - Le novità dell'IDE
a cura di Alessandro Del Sole (requisiti: conoscenze di base di Visual Studio 2008)

Introduzione
Nei giorni scorsi è stata rilasciata la prima Beta pubblica di Microsoft Visual Studio 2010 e .NET Framework 4.0, ossia la prossima versione dell'ambiente di sviluppo della software house di Redmond. La Beta 1 di Visual Studio 2010 introduce molte nuove caratteristiche a livello di ambiente di lavoro e soprattutto a livello di linguaggi gestiti. Ci sono infatti molte novità sia in Visual Basic che in Visual C#, viene ufficialmente introdotto un nuovo linguaggio: Visual F#.

Sebbene sia una Beta, quindi soggetta a futuri cambiamenti, le novità di cui parleremo in questa mini-serie di articoli non dovrebbero subire particolari evoluzioni, poiché si tratta di caratteristiche presenti fin dalla prima CTP pubblica, di conseguenza le informazioni che raccoglieremo ci torneranno senza dubbio utili nel momento in cui potremo avere tra le mani la versione finale del prodotto.

Suddivideremo la trattazione introduttiva in tre articoli: quello che state leggendo, dedicato alle novità dell'IDE con riferimento a Visual Basic; i due successivi dedicati alle novità che vengono introdotte nelle specifiche del linguaggio Visual Basic 10.0.

Download di Visual Studio 2010 Beta 1
La Beta 1 di Visual Studio 2010 è disponibile in due versioni:

Ci sono anche altri download utili, che potete trovare sul portale MSDN dedicato a Visual Studio 2010, ad ogni buon conto è bene specificare che, una volta scaricata una delle due edizioni sopra elencate, non avrete necessità di scaricare a parte .NET Framework 4.0 poiché è già incluso. Purtroppo in questa Beta 1 la documentazione a corredo è disponibile solo on-line, quindi la MSDN Library non verrà installata in locale.

Una volta dotati del software, noterete che l'installazione non presenta particolari differenze rispetto al passato, se non per l'iniziale possibilità di scegliere quale tipologia di sviluppo si vuole fare (managed e/o nativo) e per l'assenza di fotografie nel corso del setup. Nel nostro caso, ossia lo sviluppo con Visual Basic, dobbiamo accertarci che lo sviluppo managed sia selezionato.

Con Visual Studio 2010 Beta 1 viene anche installato SQL Server 2008 Express Edition. Per la Beta 1 non sono previste le edizioni Express, che ci saranno nella fase di rilascio finale. Trattandosi di una Beta, è chiaramente sconsigliato installare questa versione su una macchina di produzione. Personalmente ho creato una specifica partizione sul mio hard disk, dove ho installato Windows 7 Release Candidate e Visual Studio 2010 Beta 1. Questo perché mi piace sempre poter sperimentare su macchina "fisica" piuttosto che creare una macchina virtuale, ma chiaramente voi potete preferire tranquillamente quest'ultima soluzione. L'importante è che non installiate VS 2010 Beta 1 sulla macchina (o partizione) su cui normalmente lavorate J

Un primo sguardo all'IDE
Quando apriamo Visual Studio 2010 per la prima volta, questo è lo spettacolo che si presenta ai nostri occhi (clic per ingrandire):

Il nuovo ambiente di sviluppo si presenta in una veste grafica completamente rinnovata. Si basa prevalentemente su Windows Presentation Foundation e questo ha due importanti significati: il primo è che l'IDE ora sfrutta appieno .NET Framework, mentre il secondo è che vengono offerte funzionalità a livello di interfaccia e di esperienza utente di livello superiore. A partire dalla pagina iniziale fino ad arrivare all'editor di codice attraversando l'interfaccia di base, WPF permette a Visual Studio 2010 di essere un ambiente di lavoro molto funzionale oltre che personalizzabile. Giusto come cenno, si pensi che l'estendibilità di Visual Studio (conosciuta come Visual Studio Extensibility) si basa ora esclusivamente su .NET e WPF, attraverso una specifica infrastruttura chiamata Managed Extensibility Framework (MEF).

Pur essendo molto diverso nell'aspetto e nell'architettura dai suoi predecessori, Visual Studio 2010 continua ad offrire un layout di interfaccia assolutamente familiare. I menu, i comandi di menu, le finestre ancorabili più utilizzate (una su tutte, Solution Explorer) continuano a funzionare nello stesso modo a cui eravamo abituati. Noi non ci accorgeremo dei cambiamenti a livello architetturale, poiché l'utilizzo dell'IDE rimarrà sostanzialmente lo stesso, ma forse ci accorgeremo dei benefici apportati da WPF all'efficienza del prodotto proprio nell'utilizzo quotidiano dell'ambiente.

Fatta questa breve premessa, andiamo ad esaminare le varie novità dell'IDE specifiche per Visual Basic 2010.

La Start Page
La prima cosa che balza all'occhio quando apriamo Visual Studio 2010 è la Start Page, ossia la pagina iniziale. Uno strumento decisamente meglio organizzato rispetto al passato, interamente basata su WPF e scritta per il 100% in codice XAML. La Start Page può essere ampiamente personalizzata dal developer proprio sfruttando le conoscenze già acquisite di WPF al fine di estenderla e adattarla alle proprie esigenze. La personalizzazione della Start Page esula dagli obiettivi di questo articolo (potete guardare, al riguardo, il mio screencast dedicato o questo mio post), mentre daremo un'occhiata a come sia organizzata e cosa offra di default.

La Start Page è organizzata in schede. La prima, chiamata Welcome, ci offre delle scorciatoie ad alcune attività come il reperimento di informazioni sulle procedure guidate, l'invio di feedback sul prodotto, il reperimento on-line di estensioni per l'IDE, la visualizzazione di informazioni sulla personalizzazione della pagina stessa. Potete vedere uno screen-shot della scheda Welcome nel paragrafo precedente.

La seconda scheda di default si chiama Projects e offre scorciatoie per accedere ai progetti, nuovi o esistenti che siano:

Una funzionalità di cui si è sempre sentito il bisogno e che finalmente è stata introdotta, sebbene solo parzialmente, è la possibilità di rimuovere elementi dall'elenco dei progetti recenti. Vi basterà infatti fare clic sulla x di colore rosso posta a fianco del nome di ciascun progetto per poter rimuovere lo stesso dall'elenco.

La terza e ultima scheda di default si chiama Visual Studio e allo stato attuale consente di accedere rapidamente a risorse inerenti lo sviluppo con Visual Studio 2010, quali la MSDN Library, forum MSDN e community on-line, impostazioni di Visual Studio:

Come detto, la Start Page è altamente personalizzabile grazie a Windows Presentation Foundation. E' possibile creare nuove schede, estendere quelle esistenti, utilizzare intere strutture di controlli WPF. Una caratteristica davvero potente.

Zoom dell'editor di codice
La successiva novità dell'IDE è intrisa di Windows Presentation Foundation e riguarda l'editor di codice. È infatti possibile zoomare l'editor ingrandendo o rimpicciolendo il codice a proprio piacimento semplicemente tenendo premuto il tasto Control e muovendo la rotellina del mouse. Sicuramente si tratta di una funzionalità particolarmente utile nel corso di sessioni tecniche o dimostrazioni, ma se vi piace modificare la visibilità del vostro codice senza dover per forza modificare le impostazioni di Visual Studio, allora potreste trovarla decisamente comoda. Ecco un esempio:

Colorazione della sintassi nei tipi
La prossima caratteristica di Visual Basic 2010 che prendiamo in considerazione riprende una caratteristica che in C# c'è sempre stata, ossia un diverso colore per contraddistinguere gli oggetti e i tipi di dato diversi da quelli i cui identificatori fanno parte delle parole riservate. La seguente figura mostra un esempio di quanto affermato:

Questo ci permetterà di capire meglio, per esempio, se l'oggetto o il tipo che stiamo utilizzando fa parte o meno di quelli predefiniti del linguaggio.

Selezione a gradiente
Come detto all'inizio, l'editor di codice di Visual Studio 2010 si basa su Windows Presentation Foundation. Se avete utilizzato in passato Microsoft Expression Blend noterete alcune somiglianze (sebbene l'editor di Visual Studio sia notevolmente più potente). WPF consente all'editor di codice di visualizzare la selezione di porzioni di codice con un colore di sfondo che ora è un gradiente, invece che a tinta unita come avveniva fino a Visual Studio 2008:

Noterete come all'inizio della selezione, il colore sia più scuro per poi schiarirsi man mano. Tipico di WPF J

Selezione delle occorrenze di una parola
Immaginate di avere la definizione di un metodo all'interno di un file di codice. Immaginate, poi, di voler scorrere il file di codice e trovare i blocchi in cui il vostro metodo viene richiamato. Un'impresa non sempre agevole! In Visual Basic 2010 abbiamo la possibilità di evidenziare tutte le occorrenze di una stessa parola semplicemente facendo clic su di essa. Nella seguente figura, viene evidenziato il nome di un metodo e si può notare come l'altra occorrenza del nome stesso venga evidenziata in grigio:

Nella figura di esempio le occorrenze sono solo due, quindi potrebbe non rendere l'idea. Ma potete provare da soli a richiamare un metodo decine di volte all'interno del codice e ad evidenziarne tutte le occorrenze con un semplice clic.

Selezione delimitatori di blocchi di codice
Immaginiamo di avere diversi blocchi If..End If nidificati tra loro. Ciascun blocco If..End If contiene molte righe di codice. In questo contesto non è sempre agevole capire in quale blocco di codice ci si trova e si può rischiare di scrivere codice nel posto sbagliato.

Visual Basic 2010 introduce una nuova e utilissima caratteristica, che è l'evidenziazione dei terminatori di blocchi di codice. Per capire questo discorso, niente di meglio di una figura esemplificativa:

Ci basterà posizionare il cursore sulla riga di codice afferente il blocco che vogliamo individuare e Visual Basic automaticamente evidenzierà i delimitatori appartenenti a quel determinato blocco. Nell'esempio ho selezionato l'End If e Visual Basic ha automaticamente evidenziato per me, oltre a questa riga, anche l'If e il Then corrispondenti.

Finestra "Navigate to"
Si tratta di una delle novità più interessanti dell'IDE e una delle mie preferite in assoluto. Immaginate di avere decine di file di codice e di avere la necessità di andare a modificare un oggetto di cui però non ricordate più la posizione. Sicuramente abbiamo già degli strumenti a disposizione, ma ora ne abbiamo uno nuovo e più efficiente, costituito dalla finestra Navigate To che si trova nel menu Edit. Ipotizziamo di avere un metodo chiamato DoSomething che vogliamo andare a recuperare all'interno del codice. Utilizziamo la finestra Navigate To:

Nel campo di ricerca posso inserire il testo desiderato, che non per forza dev'essere quello di inizio del nome dell'oggetto. Infatti, nella figura di esempio le lettere "SO" permettono di visualizzare l'elenco di tutti gli oggetti il cui nome contiene le due lettere specificate, tra cui il nome del nostro metodo. Al variare della chiave immessa varierà il risultato di ricerca. Facendo doppio clic sull'oggetto desiderato si verrà rimandati alla sua definizione all'interno del codice. Si tratta chiaramente di oggetti definiti nella soluzione, di conseguenza gli oggetti definiti nella libreria di classi base saranno navigabili solo attraverso l'Object Browser che già conoscete.

Generazione di oggetti "al volo" durante la scrittura di codice
La generazione di oggetti al volo è una delle nuove caratteristiche che vanno ad influenzare la coding experience, ossia la facilità nello scrivere codice. Tale caratteristica ci consente di sfruttare funzionalità grafiche e integrate nell'IDE per poter implementare oggetti e metodi che non esistono nel momento in cui andiamo a dichiararli. Proviamo a descrivere il tutto con illustrazioni.

Considerate la seguente figura, in cui viene istanziato un oggetto di tipo TestClass che però non è definito, osservando le opzioni di correzione disponibili:

L'IDE riconosce che il tipo che si tenta di istanziare non è definito e mostra due nuove soluzioni: Generate 'Class ...' e Generate other. Selezionando la prima l'IDE genera per noi la definizione di una classe come illustrato in figura:

La nuova classe viene aggiunta come file distinto, visibile in Solution Explorer. Ora, tornando al codice di partenza, proviamo a invocare un metodo che la classe ancora non espone, come in figura:

L'IDE evidenzia che il metodo non è implementato e propone la possibilità di generare il metodo in questione per noi, definendolo nella classe secondo una modalità di default:

Chiaramente, l'implementazione di default fatta da Visual Studio deve poi essere modificata col codice di nostro interesse. Visual Studio 2010, però, non è così vincolante nel generare oggetti in questo modo. Torniamo al codice principale e proviamo a dichiarare un oggetto di un altro tipo, non definito:

Come potete osservare in figura, oltre alle soluzioni consuete, è disponibile un'opzione chiamata Generate other. Questa permette di specificare il tipo di oggetto .NET che deve essere generato ed alcune sue proprietà. Ecco come si presenta la finestra che appare una volta cliccato il comando:

Si osserva quindi che è possibile specificare il modificatore di accesso, il tipo di oggetto (classe, enumerazione, struttura), la locazione in cui deve essere implementato (file di codice separato o aggiunto a file di codice esistente).

E se utilizzo Visual C#?
In linea di massima le novità illustrate sinora per Visual Basic 2010 si applicano anche a Visual C# 4.0. Quest'ultimo, per di più, offre una funzionalità non disponibile in Visual Basic e che si chiama Call Hierarchy. Si tratta di una finestra che ci consente di visualizzare le chiamate verso e da un particolare metodo:

Risorse utili
Riporto un elenco di link a risorse utili che vi serviranno per iniziare a prendere confidenza con Visual Studio 2010 Beta 1, partendo dai download fino alle risorse di apprendimento:

Ci sono poi anche i miei screencast nell'apposita area di Visual Basic Tips & Tricks.

Conclusioni
In questo articolo abbiamo introdotto la maggior parte delle novità offerte dall'IDE di Visual Studio 2010 per lo sviluppo con Visual Basic. Chiaramente ci sono altre funzionalità che sono state introdotte o migliorate, ma queste sono le più innovative.
Per ulteriori informazioni potete contattarmi al mio indirizzo e visitare il mio blog.

Introduzione a Visual Basic 2010 - Le novità dell'IDE

Nessun commento:

Posta un commento