IntelliSense para JavaScript

IntelliSense le ayuda a escribir código con mayor rapidez y menos errores, ya que ofrece información mientras codifica.Mientras se ejecuta el script de cliente en el editor de JavaScript, IntelliSense muestra los objetos, funciones, las propiedades, y los parámetros que están disponibles basándose en el contexto actual.Puede seleccionar una opción de codificación en la lista emergente que proporciona IntelliSense para completar el código.

Con IntelliSense resulta más sencillo completar las tareas siguientes:

  • Buscar información sobre los datos y métodos miembro.

  • Insertar directamente los elementos del lenguaje en el código.

  • Mantener el contexto sin necesidad de salir del editor de código.

  • IntelliSense personalizado compatible con extensibilidad de Comentarios de documentación XML y JavaScript IntelliSense.

Para obtener información sobre las nuevas características del servicio de lenguaje de JavaScript, vea Novedades de Visual Studio 2012.

Este tema contiene las siguientes secciones:

  • Determinar el contexto de IntelliSense

  • Procesar la información de IntelliSense

  • Características de IntelliSense para JavaScript

  • Extensibilidad de JavaScript IntelliSense

  • Validación de JavaScript

Para obtener más información sobre la funcionalidad de IntelliSense de Visual Studio, vea Utilizar IntelliSense.

Determinar el contexto de IntelliSense

JavaScript IntelliSense proporciona opciones de codificación basadas en todo el script que corresponde al contexto actual del script.Esto incluye los elementos de scripting del archivo actual.Asimismo, se incluye cualquier código al que se haga referencia directa o indirectamente en el script, por ejemplo, las referencias al archivo de script, al script de ensamblado, al servicio y a las páginas asociadas.

El contexto actual del script se crea en función de los elementos siguientes:

  • Función que se define en todos los bloques de script en el documento activo.Los bloques de scripts insertados son compatibles con los archivos que tienen las extensiones de nombre de archivo .aspx, .ascx, .master, .html y .htm.

  • elementos de script con los atributos de src que señalan a otro archivo de script.El archivo de script de destino debe tener la extensión de nombre de archivo .js.

  • Archivos JavaScript que hacen referencia a otros archivos JavaScript utilizando una directiva de reference.

  • Haga referencia a grupos para los objetos globales, las extensiones de IntelliSense, o los archivos de script retraso- cargados.

  • Referencias a servicios Web XML.

  • Los controles ScriptManager y ScriptManagerProxy, si la aplicación web es una aplicación ASP.NET AJAX.

  • La Microsoft Ajax Library, si está trabajando con una aplicación web ASP.NET habilitada para AJAX.

    [!NOTA]

    IntelliSense no es compatible con script que esté en atributos de controladores de eventos en elementos HTML ni que se defina en atributos href.

Procesar la información de IntelliSense

Para proporcionar IntelliSense para JavaScript, el servicio de lenguaje realiza las operaciones siguientes:

  • Crea una lista de archivos dependientes JavaScript basados en referencias del documento activo, y en el script de forma recursiva de inspección hace referencia en los archivos a los que se hace referencia.

  • Recorre la lista y recopila información de los tipos y otros datos pertinentes de cada archivo.

  • Agrega los datos y los pasa al servicio de lenguaje de JavaScript, que coloca la información de tipos y datos a disposición de IntelliSense.

  • Supervisa los archivos por si hubiera cambios que hubiesen afectado a la lista de IntelliSense y actualiza la lista según sea necesario.Los scripts de remoto almacenan (por ejemplo los hechos referencia mediante HTTP) no obtienen controlado.

Características de IntelliSense para JavaScript

JavaScript IntelliSense admite los objetos siguientes:

  • Elementos del Modelo de objetos de documento (DOM)

  • Objetos intrínsecos

  • Variables, funciones y objetos definidos por el usuario

  • Objetos definidos en archivos externos mediante referencias como referencias de script, directivas de referencia, y grupos de referencia.

  • Objetos especificados en Comentarios de documentación XML, como parámetros y campos.

  • Objetos descritos mediante etiquetas estándar de comentario JavaScript (/).Para obtener más información, vea Extender IntelliSense para JavaScript.

  • Objetos admitidos utilizando el mecanismo de Extensibilidad de JavaScript IntelliSense.Para obtener más información, vea Extender IntelliSense para JavaScript.

  • Objetos ASP.NET AJAX

Cuando IntelliSense no puede determinar el tipo de un objeto, proporciona opciones para la finalización de instrucciones mediante identificadores del documento activo.Para obtener más información, vea Finalización de instrucciones para identificadores.

Bb385682.collapse_all(es-es,VS.110).gifElementos DOM HTML

JavaScript IntelliSense proporciona referencias de programación para los elementos DOM HTML dinámico (DHTML), como body, form, y div.IntelliSense sólo muestra los elementos que están incluidos en el documento y la página maestra actuales.JavaScript IntelliSense también admite los objetos de window y de document y sus miembros.

Bb385682.collapse_all(es-es,VS.110).gifObjetos intrínsecos

JavaScript IntelliSense proporciona referencias de programación para los objetos intrínsecos de forma nativa Array, String, Math, Date, y Number.Para obtener más información acerca de los objetos intrínsecos, vea Objetos intrínsecos (JavaScript).

Bb385682.collapse_all(es-es,VS.110).gifVariables, funciones y objetos definidos por el usuario

Al cambiar un archivo JavaScript, Visual Studio examina los documentos abiertos y hace referencia para identificar todos los recursos de código disponibles.Esto incluye las variables, funciones y objetos que haya creado.Estos recursos son disponible a JavaScript IntelliSense.

Para obtener más información sobre variables, funciones y objetos definidos por el usuario, vea Crear objetos propios en el sitio web de MSDN.

Bb385682.collapse_all(es-es,VS.110).gifReferencias a archivos externos

Puede incluir diferentes tipos de referencias a archivos externos para lograr la compatibilidad de IntelliSense en el código.Las referencias a archivos externos pueden ser referencias de script, directivas de referencia, o se pueden especificar mediante grupos de referencia.

Bb385682.collapse_all(es-es,VS.110).gifReferencias de script

En lugar de escribir el script de cliente íntegro en una página, puede hacer referencia a los archivos externos que incluyen código del scripting.De esta forma resulta más sencilla la reutilización del código entre páginas y permite que el explorador almacene en memoria caché el script de cliente.

Si no está trabajando con una página web habilitada para ASP.NET AJAX, puede hacer referencia a un archivo de script externo mediante el atributo src en la etiqueta de apertura de un elemento script.El atributo src especifica la dirección URL de un archivo externo que contiene datos o código fuente.

En el ejemplo siguiente se muestra el marcado que utiliza el atributo src en una etiqueta <script> para hacer referencia a un archivo de script.

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

Si está trabajando con una página web habilitada para ASP.NET AJAX, puede hacer referencia a los archivos de script mediante la utilización del objeto ScriptReference del control ScriptManager.

En el siguiente ejemplo se muestra el marcado que utiliza un objeto ScriptReference en un control ScriptManager para hacer referencia a un archivo de script.

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

IntelliSense también admite archivos de script que se incrustan como recursos en un ensamblado en aplicaciones web ASP.NET AJAX.Para obtener más información sobre cómo utilizar recursos de script incrustados, vea Embedding a JavaScript File as a Resource in an Assembly.

Bb385682.collapse_all(es-es,VS.110).gifDirectivas de referencia

Con una directiva reference, Visual Studio puede establecer una relación entre el script que está modificando actualmente y otros scripts.La directiva reference le permite incluir un archivo de script en el contexto de scripting del archivo de script actual.Esto habilita IntelliSense para poder hacer referencias, mientras codifica, a las funciones, tipos y campos definidos externamente.

Cree una directiva reference con formato de comentario XML.La directiva se debe declarar en el archivo antes que cualquier script.Una directiva reference puede incluir una referencia a un script basado en discos, basado en ensamblados, basado en servicios o basado en páginas.

En el ejemplo siguiente se muestra cómo utilizar las directivas de referencia basadas en discos.En el primer ejemplo, el servicio de lenguaje busca el archivo en la misma carpeta que contiene el archivo de proyecto (por ejemplo, .jsproj).

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

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

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

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

En el ejemplo siguiente se muestra cómo crear una referencia a un script basado en ensamblados.

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

En el ejemplo siguiente se muestra cómo hacer referencia a un script basado en servicios:

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

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

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

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

[!NOTA]

JavaScript IntelliSense no es compatible con scripts contenidos en archivos de servicios web (.asmx) en los proyectos de aplicación web (WAP).

En el ejemplo siguiente se muestra cómo hacer referencia a un script basado en páginas.

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

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

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

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

Las reglas siguientes se aplican a una directiva reference.

  • El comentario XML de reference se debe declarar antes que cualquier script.

  • Debe utilizar la sintaxis de los comentarios XML con tres barras diagonales.Se omiten las referencias realizadas mediante sintaxis de comentarios estándar (dos barras diagonales).

  • Sólo se puede especificar un archivo o recurso por directiva.

  • No se permiten referencias múltiples a los scripts basados en páginas.

  • Si se especifica una referencia de página, no se permite ningún otro tipo de directivas de referencia.

  • Los nombres de archivo utilizan rutas de acceso relativas.Puede utilizar el operador tilde (~) para crear rutas relativas de acceso a la raíz de la aplicación.

  • Se omiten las rutas de acceso absolutas.

  • No se procesarán las directivas de referencia en las páginas a las que se hace referencia (es decir, las directivas de referencia no se resuelven de forma recursiva para las páginas).Únicamente se incluye el script al que hace referencia directamente la página.

Bb385682.collapse_all(es-es,VS.110).gifGrupos de referencia

Puede usar grupos de referencia para especificar qué archivos concretos de IntelliSense .js están en el ámbito de todos los proyectos de JavaScript.Tres grupos de referencia disponibles: Implícito (Windows), Implícita (Web), y grupos dedicados de referencia worker.Las referencias implícitas (Windows) son para las aplicaciones de Tienda Windows con JavaScript, y las referencias Implicit (Web) son para los proyectos HTML5.Los archivos incluidos en estos grupos implícitos de referencia se encuentran en el ámbito para cada archivo .js abiertos en el editor de código.

El grupo dedicado de referencia worker es para los trabajadores de HTML5 Web.Los archivos especificados en este grupo están en el ámbito de archivos .js que tienen una referencia explícita a un grupo específico de la referencia del trabajo.Las referencias implícitas no se aplican a los archivos .js que tienen una referencia explícita a un grupo específico de la referencia del trabajo.

Puede usar las opciones de configuración para que el editor de código JavaScript especifique referencias implícitas.Para obtener más información, vea Opciones, editor de texto, JavaScript, IntelliSense.

SugerenciaSugerencia

Las referencias de IntelliSense se utilizan normalmente para proporcionar compatibilidad con IntelliSense para los objetos globales y para IntelliSense extensiones.También puede utilizar esta característica para los scripts que se deben cargar en tiempo de ejecución mediante el cargador de script.

Bb385682.collapse_all(es-es,VS.110).gifComentarios de la documentación XML

Los Comentarios de documentación XML son descripciones textuales que se agregan al script.Estas descripciones se mostrarán en IntelliSense cuando haga referencia al script con comentarios.Por ejemplo, puede proporcionar información sobre los parámetros y el valor devuelto de una función.Los Comentarios de documentación XML sólo están disponibles en los archivos, los ensamblados, y servicios a los que se hace referencia.Para obtener más información, vea Comentarios de documentación XML (JavaScript) y Cómo: Crear comentarios de documentación XML de JavaScript.

IntelliSense puede mostrar referencias a código para los comentarios XML en las siguientes situaciones de referencia a archivos:

  • Un archivo .js que hace referencia a otro archivo .js.

  • Un archivo .js que hace referencia a un archivo .aspx.

  • Un archivo .aspx que hace referencia a un archivo .js.

IntelliSense no está disponible cuando un archivo .aspx hace referencia a otro archivo .aspx.

Bb385682.collapse_all(es-es,VS.110).gifObjetos ASP.NET AJAX

ASP.NET AJAX también admite IntelliSense para JavaScript.ASP.NET AJAX incluye un marco de cliente que extiende los tipos estándar que están disponibles en ECMAScript (JavaScript).Para permitir a JavaScript IntelliSense para proporcionar detalles sobre los objetos ASP.NET AJAX, los Comentarios de documentación XML se han agregado en Microsoft Ajax Library.Se muestran estos Comentarios de documentación XML cuando se utilizan los tipos y miembros de la biblioteca de ASP.NET AJAX.

[!NOTA]

JavaScript IntelliSense no muestra los miembros privados.Los miembros privados se indican en ASP.NET AJAX mediante un guión bajo (_) inicial.

Extensibilidad de JavaScript IntelliSense

El servicio de lenguaje JavaScript proporciona objetos y funciones que permiten modificar la experiencia de IntelliSense para los desarrolladores que utilizan bibliotecas de otros fabricantes.Estas características son especialmente útiles cuando el servicio de lenguaje de idioma predeterminado no puede proporcionar toda la información que desea proporcionar a los clientes.Para obtener más información, vea Extender IntelliSense para JavaScript.

Validación de JavaScript

La validación de script JavaScript aparece coherente en segundo plano.Cuando Visual Studio detecta errores de sintaxis en código JavaScript, la información se proporciona de las maneras siguientes:

  • Elementos subrayados en el editor.El subrayado ondulado en rojo indica los errores.Si mantiene el puntero del mouse sobre el error, aparecerá una ventana (información sobre herramientas) que mostrará la descripción del error.

  • Ventana Lista de errores.La ventana Lista de errores muestra la descripción del error, el archivo donde se produjo, el número de línea y de columna, y el proyecto.Para mostrar la ventana Lista de errores, en el menú Ver, haga clic en Lista de errores.

  • La ventana de salida muestra las referencias que no se cargan.

Volver al principio

Vea también

Tareas

Cómo: Crear comentarios de documentación XML de JavaScript

Conceptos

Extender IntelliSense para JavaScript

Finalización de instrucciones para identificadores

Comentarios de documentación XML (JavaScript)

Otros recursos

Utilizar IntelliSense

Sobre el modelo de objetos de DHTML

List Members

Atributo de SRC | propiedad src