IntelliSense es una tecnología de finalización automática de Microsoft más conocida en Microsoft Visual Studio . Agrega el nombre de la función al ingresar las letras iniciales. Además de la asignación directa, IntelliSense se usa para acceder a la documentación y eliminar la ambigüedad de los nombres de variables , funciones y métodos mediante la reflexión .
Al igual que otros sistemas de finalización , IntelliSense es una forma conveniente de ver las descripciones de las funciones, incluidas las listas de sus argumentos. Acelera el desarrollo de software al reducir la cantidad de nombres y parámetros que un programador debe mantener en la memoria. También reduce la cantidad de solicitudes de documentación requerida al mostrar parte de la documentación en el editor de código. Durante el funcionamiento, IntelliSense genera una base de datos en memoria que contiene metadatos de clases, variables y otras construcciones que se utilizan en la aplicación que se está desarrollando. La implementación "clásica" de IntelliSense funciona al encontrar marcadores especiales en el código, como el carácter de punto. Tan pronto como el usuario escribe uno de estos tokens después del nombre de una entidad que contiene uno o más miembros disponibles (como variables o métodos), IntelliSense muestra al usuario una ventana emergente con una lista de miembros coincidentes.
Si el usuario ingresa caracteres adicionales, IntelliSense filtra sus resultados y muestra al usuario solo aquellos miembros que comienzan con las letras ya ingresadas. El usuario puede aceptar una de las opciones proporcionadas por IntelliSense (en cuyo caso el resto del nombre se completará automáticamente) o continuar escribiendo el nombre por sí mismo. La tecnología también le permite ver información sobre funciones (en forma de descripción y listas de argumentos) y seleccionar una de las funciones sobrecargadas comparando las listas de argumentos con las ingresadas por el usuario.
Hay tecnologías similares disponibles en otros editores de texto populares .
IntelliSense apareció por primera vez en Visual Basic 5.0 Control Creation Edition en 1996, que era el prototipo disponible públicamente de Visual Basic 5.0. Además de las pruebas iniciales en el entorno de programación de Visual Basic , IntelliSense se incluyó rápidamente en Visual FoxPro y Visual C++ en Visual Studio 97. Debido a que la versión de Visual Basic usaba capacidades COM, era más avanzada que la versión de Visual C++ porque esta última no era totalmente basado en COM. Estas deficiencias se corrigieron con la llegada de .NET Framework , que proporciona un poderoso sistema de metadatos.
IntelliSense entró en una nueva fase de desarrollo con la introducción de Visual Studio .NET , que admitía el modelo de metadatos y documentación del código de .NET Framework . IntelliSense actualmente es compatible con Visual Studio para lenguajes como C++ , C# , J# , Visual Basic , Visual FoxPro , XML , HTML , XSLT y más. A partir de Visual Studio 2005 , IntelliSense, de manera predeterminada, comienza a ofrecer opciones de finalización de código sin necesidad de marcadores, es decir, tan pronto como el usuario comienza a escribir. Dado que las opciones ahora disponibles incluyen construcciones de lenguaje (como for o if ), también se han incluido en la lista de opciones de autocompletado.
Además de Visual Studio , otros productos de Microsoft también utilizan IntelliSense , como FrontPage , Expression Web , Visual Basic for Applications IDE en Microsoft Office y otros. SQL Server 2008 Management Studio incluye finalización de sintaxis SQL .
Suponga que está editando una aplicación C++ en Visual Studio que contiene la siguiente clase:
clase Foo { público : barra nula ( ); void foo_bar ( char c , int n ); };El desarrollador hace referencia a esta clase en el código fuente, por ejemplo:
Foo Foo; fooTan pronto como el usuario escribe un punto después de foo (o presiona Ctrl + Espacio), IntelliSense muestra automáticamente todos los miembros de clase disponibles (como bar() y foo_bar() ). El usuario puede seleccionar una de las opciones con el ratón o las teclas de flecha del teclado y confirmar su elección. Siempre que sea posible, IntelliSense muestra una descripción de la función, proporcionada como documentación en el código fuente. A continuación, IntelliSense enumera los argumentos del método seleccionado en otra ventana emergente en cuanto el usuario escribe un paréntesis abierto después del nombre del método. Tan pronto como el usuario comienza a escribir el nombre de una variable en la lista de argumentos, IntelliSense también ofrece opciones al usuario para esa variable. Además, IntelliSense resalta el argumento que el usuario está escribiendo actualmente en la lista de argumentos.