Visual Studio .NET offre un certo numero di designer visuali per il supporto allo sviluppo con le principali tecnologie legate al .NET Framework. I principali sono:
- Windows Form designer - per la creazione di applicazioni windows form in maniera visuale;
- WPF designer - per la creazione di applicazioni Windows Presentation Foundation (designer aggiunto nella versione 2008 dell'IDE);
- ASP.NET designer - un editor WYSIWYG per la costruzione di Web form (nei capitoli successivi vedremo in dettaglio le funzionalità legate a questo particolare designer e allo sviluppo di applicazioni Web ASP.NET);
- CSS designer - editor per la creazione e la manutenzione di fogli di stile CSS;
- Component designer - editor per lo sviluppo di componenti lato server;
- XML designer - editor per la generazione e la manutenzione di file XML e di file in formato derivato dall'XML, come fogli di stile XSLT, schemi XSD. Questo editor viene arricchito di ulteriori funzionalità visuali per la costruzione di DataSet per le nostre applicazioni;
- Workflow designer - editor per la costruzione in maniera grafica di flusso di lavoro basati sul framework di Windows Workflow Foundation.
- Database designer - editor che permette la creazione di tabelle, viste, funzioni e stored procedures in database SQL Express 2005.
- Object-Relational designer - editor per la costruzione del mapping tra gli oggetti dell'applicazione e gli oggetti del database, detto Linq to SQL (funzionalità aggiunta nella versione 2008 a fronte della nascita del linguaggio Linq, di cui vedremo le principali funzionalità nei capitoli successivi).
- Resource designer - editor per la manutenzione dei file di risorse (.resx) legati ai propri progetti.
- Settings designer - editor per la creazione e la gestione di proprietà chiave-valore da utilizzare all'interno delle proprie applicazioni Windows Form o WPF.
In generale la parte centrale dell'IDE è dedicata all'editing e fornisce funzionalità comuni a tutti i designer sia testuali che visuali; prima fra tutte risulta l'intellisense. Tramite questo meccanismo è possibile essere supportati durante la stesura del codice delle proprie applicazioni da un menu contestuale che in base alla posizione corrente presenta all'utente le possibili soluzioni da attuare.
Questo strumento risulta a dir poco fondamentale, in quanto evita la lettura continua della documentazione delle classi del .NET Framework da utilizzare, proponendo la lista completa di tipi, proprietà, metodi ed eventi per le classi dichiarate all'interno dell'applicazione e per quelle degli assembly esterni referenziati al progetto.
Interessante è anche la possibilità di inserire dei frammenti di codice sorgente preconfezionati (Code Snippets) per snellire le operazioni più ripetitive. Esistono snippet per cicli, dichiarazioni di proprietà, e costrutti come try e catch, using, etc, che vengono richiamati digitando la parola chiave associata e premendo "Tab" sulla tastiera.
In aggiunta, ogni sviluppatore può creare i propri snippet di codice ed utilizzarli all'interno delle proprie applicazioni. L'elenco degli snippet è visualizzabile scegliendo l'opzione "Code Snippets Manager" presente all'interno del menu "Tools" (o digitando lo shortcut Crtl+K+B).
Sono state pensate altre due funzioni molto utili (nel menu contestuale che appare cliccando col tasto destro sull'editor dei contenuti):
- Refactor - che permette all'utente di modificare i nomi in modo consistente tra le diverse parti del progetto, di estrarre un frammento di codice e formare un nuovo metodo, incapsulare campi e rimuovere o riordinare i parametri in un metodo.
- Surround with - che permette all'utente di selezionare un blocco particolare di codice e circondarlo da un particolare statement (scelto dalla lista che propone il menu stesso) come un blocco try e catch, una direttiva using, cicli e blocchi condizionali.