Condividi tramite


IntelliSense per JavaScript

IntelliSense consente di scrivere codice più velocemente e con meno errori fornendo informazioni durante la compilazione.Durante l'utilizzo di script client nell'editor JavaScript, IntelliSense elenca 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.

  • Supporta IntelliSense personalizzato con commenti della documentazione XML e l'estensibilità JavaScript IntelliSense.

Per informazioni sulle nuove funzionalità del servizio di linguaggio JavaScript, vedere Novità di Visual Studio 2012.

Di seguito sono elencate le diverse sezioni di questo argomento:

  • Determinazione del contesto di IntelliSense

  • Elaborazione delle informazioni di IntelliSense

  • Funzionalità JavaScript IntelliSense

  • Estensibilità JavaScript IntelliSense

  • Convalida JavaScript

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

Determinazione del contesto di IntelliSense

JavaScript IntelliSense consente di scegliere le opzioni di codifica in base a qualsiasi script pertinente al contesto corrente dello script.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.

Il contesto corrente dello script viene creato in base ai seguenti elementi:

  • Funzioni definite in tutti i blocchi di script nel documento attivo.I blocchi di script online sono supportati in file con estensioni aspx., ascx, master, html e htm.

  • elementi discript con gli attributi di src che indicano un altro file di script.Il file script di destinazione deve avere l'estensione js.

  • I file JavaScript che fanno riferimento ad altri file JavaScript utilizzando una direttiva di reference.

  • Gruppi di riferimento per gli oggetti globali, le estensioni di IntelliSense, o i file di script caricamento ritardato.

  • Riferimenti a servizi Web XML.

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

  • L' libreria Microsoft Ajax, 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 JavaScript IntelliSense, il servizio di linguaggio che esegue le operazioni seguenti:

  • Crea un elenco di file dipendenti JavaScript basati sui riferimenti nel documento attivo e si basano i riferimenti allo script di analisi ricorsiva nei file a cui si fa riferimento.

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

  • Aggrega i dati e li passa al servizio di linguaggio JavaScript, che rende disponibili le informazioni sui tipi e i dati IntelliSense.

  • Controlla nei file le modifiche che potrebbero influire sull’elenco di IntelliSense e, se necessario, lo aggiorna.Gli script sugli archivi remoti (ad esempio quelli fatto riferimento tramite HTTP) non vengano monitorati.

Funzionalità JavaScript IntelliSense

Supporta IntelliSense JavaScript gli oggetti seguenti:

  • Elementi DOM (Document Object Model)

  • Oggetti intrinseci

  • Variabili definite dall'utente, funzioni e oggetti

  • Oggetti definiti in file esterni mediante i riferimenti come riferimenti a script, direttive di riferimentoe gruppi di riferimento.

  • Oggetti specificati in Commenti della documentazione XML, come parametri e campi.

  • Oggetti descritti utilizzando i tag di commenti standard JavaScript (/).Per ulteriori informazioni, vedere Estensione di IntelliSense in JavaScript.

  • Oggetti supportati utilizzando il meccanismo di Estensibilità JavaScript IntelliSense.Per ulteriori informazioni, vedere Estensione di IntelliSense in JavaScript.

  • Oggetti AJAX ASP.NET

Quando IntelliSense non è in grado di determinare il tipo di oggetto, fornisce opzioni per il completamento delle istruzioni utilizzando gli identificatori nel documento attivo.Per ulteriori informazioni, vedere Completamento delle istruzioni per gli identificativi.

Bb385682.collapse_all(it-it,VS.110).gifElementi DOM HTML

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

Bb385682.collapse_all(it-it,VS.110).gifOggetti intrinseci

JavaScript IntelliSense include riferimenti di programmazione per a livello nativo gli oggetti Array, String, Math, Datee Numberintrinseci.Per ulteriori informazioni sugli oggetti intrinseci, vedere Oggetti intrinseci (JavaScript).

Bb385682.collapse_all(it-it,VS.110).gifVariabili definite dall'utente, funzioni e oggetti

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

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).

Bb385682.collapse_all(it-it,VS.110).gifRiferimenti a file esterni

È possibile includere i diversi tipi di riferimenti a file esterni per ottenere il supporto IntelliSense nel codice.Riferimenti a file esterni possono essere riferimento allo script, direttive di riferimento, o possono essere specificati mediante gruppi di riferimento.

Bb385682.collapse_all(it-it,VS.110).gifRiferimenti a script

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 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/JavaScript.js">
  
</script>

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" runat="server">
  <Scripts>
    <asp:ScriptReference Path="~/Scripts/JavaScript.js" />
  </Scripts>
</asp:ScriptManager>

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 Embedding a JavaScript File as a Resource in an Assembly.

Bb385682.collapse_all(it-it,VS.110).gifDirettive di riferimento

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

La direttiva reference 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.Nel primo esempio, il servizio di linguaggio individuare il file nella stessa cartella che contiene il file di progetto, ad esempio .jsproj).

/// <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]

JavaScript IntelliSense non è supportato per gli script contenuti nei file di servizi Web (ASMX) nei progetti di applicazione Web (WAP).

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 radice dell'applicazione.

  • I percorsi assoluti 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.

Bb385682.collapse_all(it-it,VS.110).gifGruppi di riferimento

È possibile utilizzare i gruppi di riferimento per specificare che i file specifici di IntelliSense con estensione js sono nell'ambito per tutti i progetti JavaScript.Tre gruppi di riferimento sono disponibili: Gruppi impliciti (windows), impliciti (web) e dedicati di riferimento di lavoro.I riferimenti impliciti (windows) sono per le applicazioni di Windows Store utilizzando JavaScript e i riferimenti implicita del web () sono per i progetti HTML5.I file inclusi in questi gruppi di riferimento sono impliciti nell'ambito per ogni file js aperto nell'editor di codice.

Il gruppo dedicato di riferimento di lavoro ai lavoratori di web HTML5.I file specificati in questo gruppo corrispondono nell'ambito per i file js con un riferimento esplicito a un gruppo dedicato di riferimento di lavoro.I riferimenti implicita non si applicano ai file js con un riferimento esplicito a un gruppo dedicato di riferimento di lavoro.

È possibile utilizzare le opzioni di configurazione per l'editor di codice JavaScript specificare i riferimenti implicita.Per ulteriori informazioni, vedere Opzioni, Editor di testo, JavaScript, IntelliSense.

SuggerimentoSuggerimento

I riferimenti di IntelliSense in genere utilizzati per fornire il supporto IntelliSense per gli oggetti globali e per IntelliSense estensioni.È inoltre possibile utilizzare questa funzionalità per gli script che devono essere caricati in fase di esecuzione utilizzando il caricamento dello script.

Bb385682.collapse_all(it-it,VS.110).gifCommenti relativi alla documentazione XML

Commenti della documentazione XML sono descrizioni di testo aggiunto lo script.Queste descrizioni di testo vengono visualizzate con IntelliSense quando si fa riferimento allo script commentato.Ad esempio, è possibile fornire informazioni sui parametri e il valore restituito di una funzione.Commenti della documentazione XML sono disponibili solo dai file di riferimento, gli assembly e dai servizi.Per ulteriori informazioni, vedere Commenti relativi alla documentazione XML (JavaScript) e Procedura: creare i commenti della documentazione XLM in JavaScript.

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

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

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

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

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

Bb385682.collapse_all(it-it,VS.110).gifOggetti ASP.NET per AJAX

AJAX ASP.NET supporta inoltre JavaScript IntelliSense.Che include un framework client che estende tipi standard disponibili in ECMAScript (JavaScript).Per consentire a JavaScript IntelliSense per fornire dettagli sugli oggetti AJAX ASP.NET, commenti della documentazione XML sono state aggiunte in tutto libreria Microsoft Ajax.Questi commenti della documentazione XML viene visualizzato quando si utilizzano tipi e membri contenuti in ASP.NET AJAX.

[!NOTA]

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

Estensibilità JavaScript IntelliSense

Il servizio di linguaggio JavaScript negli oggetti e le funzioni che consentono di modificare l'esperienza di IntelliSense per gli sviluppatori che utilizzano le librerie di terze parti.Queste funzionalità sono particolarmente utili quando il servizio di nella lingua predefinita non può fornire le informazioni che si desidera fornire ai clienti.Per ulteriori informazioni, vedere Estensione di IntelliSense in JavaScript.

Convalida JavaScript

La convalida di scripting JavaScript si verifica continuamente in background.Quando Visual Studio rileva gli errori di sintassi nel codice JavaScript, il feedback viene fornito nei modi seguenti:

  • 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.

  • La finestra di output visualizzerà i riferimenti che non sono stati caricati.

Torna all'inizio

Vedere anche

Attività

Procedura: creare i commenti della documentazione XLM in JavaScript

Concetti

Estensione di IntelliSense in JavaScript

Completamento delle istruzioni per gli identificativi

Commenti relativi alla documentazione XML (JavaScript)

Altre risorse

Utilizzo di IntelliSense

Sul modello a oggetti DHTML

List Members

Attributo di SRC | proprietà di src