Desbordando AVG y SUM: Cuando SQL Server se queda sin dedos para sumar

Nuevo modo de autocompletado para IntelliSense en SQL Server Management Studio 2012. ¿Cómo cambiarlo?

Con SQL Server 2008 llegó IntelliSense para T-SQL. IntelliSense es una herramienta que nos ofrece el editor de SQL Server Management Studio para facilitarnos la escritura de código T-SQL. Básicamente, entre otras cosas, carga el catálogo de nuestra base de datos para facilitarnos la escritura de consultas.

Así, si tenemos una tabla que se llama MiTabla y empezamos a escribir en el editor de consultas algo como
SELECT *
FROM Mi
Intellisense nos mostrará rápidamente las opciones del catálogo que se pueden corresponder con lo que estamos escribiendo, para facilitarnos así la escritura de textos y minimizar también la posibilidad de erratas en nuestro tecleo de código.

Hasta SQL Server 2012, IntelliSense mostraba esta lista de miembros, seleccionando progresivamente el valor más parecido a lo que estábamos escribiendo. Si pulsábamos la tecla espacio, una coma, retorno de carror, un paréntesis, o cualquier otra tecla que indicase al editor que habíamos acabado de escribir el término actual, IntelliSense lo completaba automáticamente con la selección actual.

Esto conllevaba que, en algunas ocasiones, IntelliSense nos auto-completase palabras sin que nuestra intención real fuese escribirlas.

Así pues, el auto-completado ha cambiado ligeramente en la nueva versión de SQL Server. Como podemos apreciar en la imagen siguiente, en la versión actual SQL Server deja una línea encima de todos los posibles valores que encajan con lo que estamos escribiendo. En esa línea aparece simplemente lo que hemos escrito hasta el momento. Si lo que queremos es conservar lo tecleado y no elegir ninguno de los valores que IntelliSense nos ofrece, basta con pulsar espacio, coma o cerrar paréntesis y se mantendrá el texto tal cual.

El nuevo IntelliSense nos permite mantener lo que estamos escribiendo o seleccionar un valor propuesto.

¿Y si quiero mantener el comportamiento anterior?


Es posible. SQL Server nos ofrece la posibilidad de mantener el mencionado comportamiento anterior total o parcialmente.

Si nos gusta el nuevo modo de funcionamiento de IntelliSense, pero queremos poder elegir la palabra que queremos escribir cuando IntelliSense ya la ha encontrado, podemos usar el tabulador, así: Vemos en la imagen que la selección más aproximada al texto que estamos escribiendo aparece rodeada de un recuadro amarillo. Si pulsamos la tecla TAB se escribirá lo que aparece dentro de ese recuadro, como cuando en versiones anteriores se elegía automáticamente la opción más parecida a lo escrito.

Aun así, si eres de los que prefiere el modo de funcionamiento anterior de IntelliSense, SQL Server te ofrece la posibilidad de seguir usándolo, mediante la combinación de teclas Ctrl + Alt + Espacio. También podemos acceder a esta opción en el menú Edición / IntelliSense. Eso sí, con el inconveniente de que habrá que cambiar el modo cada vez que abramos una ventana nueva del editor.

Si queremos cambiar el modo del IntelliSense podemos pulsar Ctrl + Alt + Espacio.

Una vez cambiado al modo anterior, escribiendo lo que aparece en la imagen, SQL Server nos completará automáticamente la palabra MiTabla si pulsamos cualquiera de las teclas comentadas anteriormente.

Modo de funcionamiento anterior a SQL Server 2012 de IntelliSense.

Recordad que en ambos modos podremos movernos con los cursores por la lista mostrada o usar el ratón para elegir el texto que realmente queremos escribir. En este caso, podríamos elegir MiTabla2 simplemente pulsando la tecla cursor con la flecha hacia abajo para seleccionarla.

Comentarios