Desde la versión SQL Server 2008 el editor de scripts (query analycer) de SQL Server incorpora algunas herramientas de IntelliSense aunque todavía está lejos de la funcionalidad de Visual Studio.
La tecnología IntelliSense en SQL Server aún no está muy evolucionada. En muchos lugares no aparece en absoluto, y tampoco funciona con servidores remotos. Sin embargo en las últimas versiones ha habido grandes avances en IntelliSense.
En este artículo se hará un breve repaso de IntelliSense y cómo usarlo y también a arrojar algo de luz sobre los momentos en que no parece estar funcionando IntelliSense.
¿Que es IntelliSense?
IntelliSense para SQL Server Management Studio, se introdujo por primera vez en SQL 2008 es un mecanismo de autoescritura de código inteligente que aumenta la productividad de desarrollo al hacer fragmentos de código, las definiciones y chequeo de sintaxis sin tener que salir del editor.
IntelliSense está activado por defecto, pero se puede desactivar en Herramientas Opciones -> Editor de texto -> Transact SQL -> IntelliSense.
Si desea utilizar la lista de miembros y la información de parámetros, hay que asegurarse de que está activada en la configuración general de Transact-SQL.
Lista de miembros
Al presionar CTRL + J se abre una lista de todos los miembros que son válidos para la palabra clave específica tecleada. En el ejemplo siguiente muestra la lista de todos los miembros válidos que se pueden utilizar después de la palabra clave EXEC. También sale la lista si tecleamos la primera letra del nombre del procedimiento a ejecutar.
Información de Parámetros
La lista de información de parámetros indica los parámetros necesarios para una función o un procedimiento almacenado. Al escribir un espacio, a continuación del nombre de un procedimiento almacenado o un paréntesis "(" se activa la opción de información de los parámetros de IntelliSense. La información de los parámetros no sólo proporciona el nombre de los parámetros requeridos, sino también sus tipos de datos, así como los valores por defecto. El siguiente parámetro que debe ser proporcionado se muestra en negrita.
Informacion Rápida
Quick info brings up a tool tip with the declaration of the item you are hovering over as long as the syntax is supported by IntelliSense.
La Información rápida muestra la declaración del elemento que se ciernen sobre la sintaxis apoyado por IntelliSense y muestra en este caso el tipo de la variable.
En modo de ejecución también muestra el valor de la expresión.
Delimitador de pares de elementos
IntelliSense now has the ability to match beginning and closing pairs of control flow elements such as BEGIN and END. This is very handy when you have multiple nested delimiters.
The matching BEGIN and END will be highlighted when you finish typing the last letter of both the BEGIN and END. Unfortunately it doesn’t highlight it again when you place the cursor on it again. In order to see the highlight again after you have moved on to another line of code, you have to delete a letter and retype it in either the BEGIN or END tags.
IntelliSense ahora tiene la capacidad para coincidir con el comienzo y el cierre de pares de elementos de flujo de control tales como BEGIN y END. Esto es muy útil cuando se tienen varios delimitadores anidados.
Las coincidencias de BEGIN y END se resaltará cuando termine de escribir la última letra de tanto el BEGIN y END. Por desgracia, no se pone de manifiesto de nuevo cuando se coloca el cursor sobre ella de nuevo. Para ver lo más destacado de nuevo después de haber pasado a otra línea de código, es necesario borrar una letra y volver a escribir en cualquiera de las etiquetas comienza o terminan.
El delimitador de pares de objetos se aplica a:
• Paréntesis
• BEGIN … END
• BEGIN TRY … END TRY
• BEGIN CATCH … END CATCH
Resolución de problemas comunes con IntelliSense
IntelliSense no funciona
Hay unas razones por las que podría no estar sucediendo.
1. Comprobar si IntelliSense En primer lugar está habilitado como se ha explicado anteriormente en este artículo.
2. Asegúrarse de que no hay errores de sintaxis en cualquier lugar de la página antes de su cursor, resolver el error de código debe volver a activar IntelliSense.
3. IntelliSense no funciona dentro de comentarios, descomentar la sección para obtener las sugerencias de IntelliSense.
4. IntelliSense no funciona dentro de comillas. Coloca el cursor fuera de las comillas.
5. Asegúrarse de que se está conectado a una instancia de SQL Server o un proyecto de base de datos.
6. IntelliSense sólo se admite en SQL Server 2008 y versiones posteriores.
7. IntelliSense no funciona para objetos cifrados.
8. No se admite toda la sintaxis. Echar un vistazo para ver si es compatible con su sintaxis.
9. ¿Estás ejecutando en modo SQLCMD? IntelliSense no es compatible con el modo de comando. Volver al modo regular para obtener IntelliSense.
10. IntelliSense actualmente no es compatible con SQL Azure.
No aparecen todos los objetos en la lista
Cuando se añade un nuevo objeto a una base de datos de la caché IntelliSense necesita actualizarse. Esto puede hacerse presionando CTRL + SHIFT + R o haciendo clic en la opción de menú Editar -> Actualizar IntelliSense caché local.
IntelliSense no mostrará ningún objeto parta el que no tiene permisos. Es necesario garantizar que en efecto tiene permiso para ver los objetos que faltan.
IntelliSense sólo trabaja al comienzo de mi script
A veces parece como si IntelliSense deja de funcionar al final de la página. Esto puede ser porque tiene un error de sintaxis un poco más arriba o porque se ha excedido el tamaño máximo de escritura.
Puede establecer el tamaño máximo de secuencia de comandos hay que ir a Herramientas Opciones -> Editor de texto de Transact-SQL -> IntelliSense.
No hay comentarios:
Publicar un comentario