Condividi tramite


Cenni preliminari su IntelliSense per JScript

Aggiornamento: novembre 2007

IntelliSense per Microsoft JScript semplifica l’accesso agli elementi di programmazione script client nell’editor di codice in Visual Studio o Microsoft Visual Web Developer Express Edition. IntelliSense consente di scegliere codice appropriato al contesto durante la digitazione del codice script client, ad esempio proprietà, funzioni e oggetti. Non è necessario uscire dall’editor per cercare documentazione della sintassi o del parametro. Viene invece illustrato come restare nell’editor di codice, trovare le informazioni necessarie e inserire gli elementi del linguaggio direttamente nel codice. IntelliSense per JScript funziona in modo simile a IntelliSense per i linguaggi a codice gestito.

Di seguito sono elencate le diverse sezioni di questo argomento:

Per ulteriori informazioni sulle funzionalità di IntelliSense in Visual Studio, vedere Utilizzo di IntelliSense.

Background

IntelliSense consente di scrivere codice più velocemente e con meno errori fornendo informazioni durante la compilazione. Durante l’utilizzo di script client in IntelliSense vengono elencati gli oggetti, le funzioni, le proprietà e i parametri disponibili in base al contesto corrente. È possibile selezionare un'opzione di codifica dall’elenco popup fornito da IntelliSense per completare il codice.

IntelliSense semplifica il completamento delle seguenti attività:

  • Trovare le informazioni su un membro.

  • Inserire gli elementi del linguaggio direttamente nel codice.

  • Gestire il contesto senza dover uscire dall’editor del codice.

  • Supportare codice IntelliSense personalizzato con i commenti del codice XML.

Funzionamento di IntelliSense JScript

IntelliSense per JScript consente di scegliere le opzioni di codifica in base a tutto lo script pertinente al contesto di programmazione corrente. Ciò include gli elementi di scripting nel file corrente. Include anche qualsiasi codice al quale viene fatto direttamente o indirettamente riferimento dallo script, ad esempio riferimenti a file di script, riferimenti a script di assembly, riferimenti al servizio e riferimenti associati alla pagina.

Determinazione del contesto di IntelliSense

Il contesto di programmazione corrente viene creato in base ai seguenti elementi:

  • Le funzioni definite nel blocco di script corrente. I blocchi di script in linea sono supportati in file con estensioni aspx., ascx, master, html e htm.

  • Ogni elemento script contenente un attributo src che punta a un file script. Il file script di destinazione deve avere l'estensione js.

  • File JScript che fanno riferimento ad altri file JScript utilizzando la direttiva references.

  • Riferimenti a servizi Web XML.

  • I controlli ScriptManager e ScriptManagerProxy, se l'applicazione Web è un'applicazione ASP.NET per AJAX.

  • L' Microsoft AJAX Library, se si utilizza un'applicazione ASP.NET per AJAX.

    Nota:

    IntelliSense non è supportato per script incluso negli attributi del gestore eventi su elementi HTML, oppure definito negli attributi href.

Elaborazione delle informazioni di IntelliSense

Per fornire informazioni a IntelliSense per JScript, in Visual Studio vengono eseguite le seguenti operazioni:

  • Crea un elenco di file JScript dipendenti basato sui riferimenti nel documento attivo e sui riferimenti allo script di analisi ricorsiva nei file di riferimento.

  • Analizza l'elenco e raccoglie informazioni sui tipi e altri dati rilevanti da ciascun file.

  • Aggrega i dati e li passa al motore di JScript che rende disponibili in IntelliSense le informazioni sui tipi e i dati.

  • Controlla nei file le modifiche che potrebbero influire sull’elenco di IntelliSense e, se necessario, lo aggiorna.

Torna all'inizio

Funzionalità di IntelliSense JScript

IntelliSense JScript supporta i seguenti oggetti:

  • Elementi DOM (Document Object Model)

  • Oggetti intrinseci

  • Variabili definite dall'utente, funzioni e oggetti

  • Riferimenti a file esterni

  • Commenti di codice XML

  • Oggetti AJAX ASP.NET

Elementi DOM HTML

IntelliSense per JScript include riferimenti di programmazione per elementi DOM DHTML (Dynamic HTML), ad esempio body, forme div. Solo gli elementi inclusi nel documento corrente e la pagina master vengono visualizzati da IntelliSense. JScript per IntelliSense supporta inoltre gli oggetti window e document e i relativi membri.

Oggetti intrinseci

IntelliSense JScript include riferimenti di programmazione per gli oggetti Array intrinseci a livello nativo, String, Math, Date e Number. Per ulteriori informazioni sugli oggetti intrinseci, vedere Oggetti intrinseci.

Variabili definite dall'utente, funzioni e oggetti

Quando si modifica un file JScript, Visual Studio analizza i documenti aperti e quelli a cui viene fatto riferimento per determinare tutte le risorse di codice disponibili, ad esempio le variabili, le funzioni e gli oggetti creati. Queste risorse diventano quindi disponibili per IntelliSense per JScript. 

Per ulteriori informazioni sulle variabili, le funzioni e gli oggetti definiti dall'utente, vedere Creating Your Own Objects sul sito Web MSDN (informazioni in lingua inglese).

Riferimenti a file esterni

Anziché scrivere ogni script client in una pagina, è possibile fare riferimento a file esterni che includono codice di scripting. In questo modo è più facile riutilizzare il codice tra le pagine ed è possibile memorizzare lo script client nella cache del browser.

Se si utilizza una pagina Web ASP.NET per AJAX, è possibile fare riferimento ai file script utilizzando l'oggetto ScriptReference del controllo ScriptManager.

Nell'esempio seguente è mostrato il markup che utilizza un oggetto ScriptReference in un controllo ScriptManager per fare riferimento a un file script.

<asp:ScriptManager ID="ScriptManager1" >
  <Scripts>
    <asp:ScriptReference Path="~/Scripts/JScript.js" />
  </Scripts>
</asp:ScriptManager>

Se non si utilizza una pagina Web ASP.NET per AJAX, è possibile fare riferimento a un file script esterno utilizzando l'attributo src nel tag di apertura di un elemento script. L'attributo src specifica l’URL a un file esterno che contiene il codice sorgente o i dati di origine.

Nell'esempio seguente è mostrato il markup che utilizza l’attributo src in un tag <script> per fare riferimento a un file script.

<script type="text/javascript" src="~/Scripts/JScript.js">
  
</script>

IntelliSense supporta inoltre i file script incorporati come risorse in un assembly nelle applicazioni Web ASP.NET per AJAX. Per ulteriori informazioni sull'utilizzo delle risorse script incorporate, vedere Procedura dettagliata: incorporamento di un file JavaScript come risorsa in un assembly.

Direttive References

Una direttiva references consente a Visual Studio di stabilire una relazione tra lo script in corso di modifica e gli altri script. La direttiva references consente di includere un file script nel contesto di scripting del file script corrente in modo che sia possibile in IntelliSense fare riferimento a funzioni, tipi e campi definiti esternamente durante la compilazione. 

La direttiva references viene creata nel form di un commento XML. La direttiva deve essere dichiarata prima nel file che in qualsiasi script. Una direttiva reference può includere un riferimento a script basato sul disco, un riferimento a script basato sull'assembly, un riferimento a script basato sul servizio o un riferimento a script basato sulla pagina.

Nell'esempio seguente vengono mostrati alcuni utilizzi di direttive di riferimento basate su disco.

/// <reference path="ScriptFile1.js" />

/// <reference path="Scripts/ScriptFile2.js" />

/// <reference path="../ScriptFile3.js" />

/// <reference path="~/Scripts/ScriptFile4.js" />

Nell'esempio seguente viene illustrato come creare un riferimento a uno script basato su assembly.

/// <reference name "Ajax.js" assembly="System.Web.Extensions, ..." />

Nell'esempio seguente viene illustrato come creare un riferimento a uno script basato su servizio.

/// <reference path="MyService.asmx" />

/// <reference path="Services/MyService.asmx" />

/// <reference path="../MyService.asmx" />

/// <reference path="~/Services/MyService.asmx" />

Nota:

IntelliSense per JScript non è supportato per gli script contenuti nei file di servizi Web (asmx) WAP (Web Application Projects).

Nell'esempio seguente viene illustrato come creare un riferimento a uno script basato su pagina.

/// <reference path="Default.aspx" />

/// <reference path="Admin/Default.aspx" />

/// <reference path="../Default.aspx" />

/// <reference path="~/Admin/Default.aspx" />

Le seguenti regole si applicano a una direttiva reference.

  • Il commento XML reference deve essere dichiarato prima di qualsiasi script.

  • È necessario utilizzare sintassi di commenti XML con tre barre. I riferimenti creati utilizzando la sintassi dei commenti standard (due barre) vengono ignorati.

  • È possibile specificare solo un file o una risorsa per direttiva.

  • Non sono consentiti più riferimenti a script basati su pagina.

  • Se viene specificato un riferimento alla pagina, non sono consentiti altri tipi di direttive di riferimento.

  • I nomi di file utilizzano percorsi relativi. È possibile utilizzare l'operatore tilde (~) per creare percorsi relativi alla directory principale dell'applicazione.

  • I percorsi assoluti vengono ignorati.

  • I riferimenti ai file esterni al progetto corrente vengono ignorati.

  • Le direttive di riferimento nelle pagine a cui si fa riferimento non verranno elaborate, ciò significa che le direttive di riferimento non vengono risolte in modo ricorsivo per le pagine. È incluso solo script al quale viene fatto riferimento direttamente dalla pagina.

Commenti di codice XML

I commenti di codice XML sono descrizioni di testo che si aggiungono agli script. Queste descrizioni di testo vengono visualizzate con IntelliSense quando si fa riferimento allo script commentato. I commenti del codice XML sono disponibili solo dai file riferimento, dagli assembly e dai servizi di riferimento.

È possibile includere commenti di codice XML per fornire un riepilogo e le informazioni su parametri e un valore restituito di una funzione. Nell'esempio seguente viene illustrato uno script che utilizza commenti di codice XML:

function areaFunction(radiusParam)
{
    /// <summary>Determines the area of a cicle based on a radius parameter.</summary>
    /// <param name="radius" type="Number">The radius of the circle.</param>
    /// <returns type="Number">Returns a number that represents the area.</returns>
    var areaVal;
    areaVal = Math.PI * radiusParam * radiusParam;
    return areaVal;
}

IntelliSense può visualizzare i riferimenti al codice per i commenti nei seguenti scenari di riferimento ai file:

  • Un file ASPX che fa riferimento a un file JS.

  • Un file JS che fa riferimento a un altro file JS.

  • Un file JS che fa riferimento a un file ASPX.

IntelliSense non è disponibile quando uno file ASPX fa riferimento a un altro file ASPX.

Per ulteriori informazioni sull'aggiunta di commenti di codice XML per fornire riferimenti a IntelliSense JScript, vedere Procedura dettagliata: IntelliSense JScript.

Oggetti ASP.NET per AJAX

IntelliSense per JScript è supportato anche in ASP.NET per AJAX che include un framework client che estende i tipi standard disponibili in ECMAScript (JavaScript e JScript). Per consentire a IntelliSense JScript di fornire dettagli sugli oggetti ASP.NET per AJAX, i commenti del codice XML sono stati aggiunti mediante Microsoft AJAX Library. Questi commenti di codice XML vengono visualizzati quando si utilizzano tipi e membri contenuti nella libreria ASP.NET per AJAX.

Nota:

I membri privati non vengono visualizzati da IntelliSense per JScript. e ASP.NET per AJAX vengono indicati come membri che iniziano con un carattere di sottolineatura (_).

Nozioni di base sugli errori di IntelliSense per JScript

Il motore di IntelliSense per JScript in Visual Studio fornisce automaticamente convalida controllando i collegamenti ai riferimenti degli script e l’esecuzione del preprocessore. La convalida di un collegamento a script viene determinata in base al contesto di programmazione corrente. Se non viene individuato un particolare riferimento, Visual Studio fornisce informazioni sull'errore del riferimento. La segnalazione degli errori del preprocessore si verifica quando l’esecuzione dei file dipendenti ha esito negativo.

Per ulteriori informazioni sulla determinazione della convalida di un collegamento, vedere Determinazione contesto di IntelliSense. Per ulteriori informazioni sulla determinazione degli errori del preprocessore, vedere Elaborazione delle informazioni di IntelliSense.

Chiamata della convalida JScript

In Visual Studio la convalida di IntelliSense per JScript viene richiamata in due modi:

  • In caso di inattività. La convalida viene richiamata automaticamente in caso di inattività di un documento attivo che contiene script.

  • Manualmente. È inoltre possibile richiamare manualmente la convalida di IntelliSense per JScript. A questo scopo, scegliere Avanzate dal menu Modifica, quindi fare clic su Convalida documento. Questo comando si applica a tutti i documenti aperti.

Risultati della convalida

Quando Visual Studio non riesce a risolvere i riferimenti allo script, oppure se altri tipi di errori di scripting impediscono al motore di IntelliSense di raccogliere risultati completi dal contesto di scripting corrente, Visual Studio fornisce feedback nei seguenti modi:

  • Elementi sottolineati nell'editor. Sottolineature rosse ondulate indicano errori. Se si mantiene il puntatore del mouse sull'errore, verrà visualizzata la descrizione dell’errore.

  • Finestra Elenco errori. La finestra Elenco errori mostra la descrizione dell'errore, il file in cui si verifica, la riga e il numero di colonna e il progetto. Per visualizzare la finestra Elenco errori, scegliere Elenco errori dal menu Visualizza.

Torna all'inizio

Risorse supplementari

Procedura dettagliata: IntelliSense JScript

Procedura: creare commenti di codice XML JScript

Torna all'inizio

Vedere anche

Attività

Procedura dettagliata: IntelliSense JScript

Assegnazione dinamica dei riferimenti a uno script

Riferimenti

Elenca membri

Altre risorse

Utilizzo di IntelliSense

About the DHTML Object Model

Oggetti JScript