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.
![Intellisense si adatta definizione implicita dei tipi](https://static.html.it/app/uploads/documenti/guide/img/vs2008/fig28.png)
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);
}
![Intellisense supporta le librerie JavaScript esterne](https://static.html.it/app/uploads/documenti/guide/img/vs2008/fig29.png)
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.
![Breakpoint nel codice JavaScript](https://static.html.it/app/uploads/documenti/guide/img/vs2008/fig30.png)
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.