Una delle novità più apprezzate dagli sviluppatori Web è il migliorato supporto per JavaScript con l'intellisense e le funzioni avazate di debug, funzionalità disponibili anche nella versione Express e particolarmente utili per applicazioni Ajax-enabled.
L'intellisense si attiva quando scriviamo all'interno di un blocco <script>
oppure in un file ".js", esponendo l'elenco degli oggetti disponibili e delle keyword del linguaggio. Inoltre aggiorna costantemente i nomi e i tipi delle variabili a seconda del contesto e delle dichiarazioni implicite.
Ad esempio, se creiamo una variabile assegnandole un numero, l'intellisense ci propone, per quella variabile, tutti i metodi esposti da tipi numerici (toString
, valueOf
, etc.). Se in un secondo momento, assegnamo un valore di tipo stringa alla stessa variabile, l'intellisense si aggiorna e ci propone operazioni e metodi applicabili alle stringhe.
Inoltre è supportato sia l'intellisense su librerie JavaScript esterne alla pagina che la presenza di messaggi di marcatura per metodi, funzioni e tipi, come documentazione d'aiuto durante o sviluppo.
externalFile.js
function SayHello(name)
{
///<summary>Hello world from JavaScript !</summary>
///<param name="name">Chi vuoi salutare ?</param>
alert('Hello ' + name);
}
Per chi lavora su applicazioni Ajax-enabled si tratta di un accessorio veramente importante, basta pensare a quanto semplifichi l'orientamento tra le numerose librerie del framework ASP.NET AJAX. Altra semplificazione: per consumare un web service tramite Ajax, una volta inserita la reference del Web service all'interno di un controllo ScriptManager
, Visual Studio crea in automatico la classe proxy per quel Web service e mostra l'intellisense aggiornato con tutti i metodi che il Web service espone.
HelloWorld.cs
[WebService(Namespace = "http://peppedotnet.it")]
[ScriptService]
public class HelloWorld : System.Web.Services.WebService
{
[WebMethod]
public string SayHello() {
return "Hello World";
}
}
La possibilità di gestire il debug del codice JavaScript era già presente in Visual Studio 2005, ora è stata migliorata notevolmente. Possiamo gestire blocchi di operazioni Ajax e specificare dei BreakPoint, che saranno verificati prima che la pagina ASP.NET debba essere lanciata, cosa che nella versione precedente non era possibile.
Inoltre c'è la possibilità di specificare punti di stop sia nel codice che verrà eseguito lato client (JavaScript) che in quello lato server (C#, VB.NET) e scorrere i vari passi di esecuzione della pagina in un'unica sessione di debug, avvalendosi dell'utilizzo dei noti strumenti di ispezione Match/Locals e dei visualizzatori di supporto, strumenti anche questi notevolmente migliorati nella nuova versione.