Suprimir la finalización automática de SQL Server Management Studio

21

¿Hay alguna manera de suprimir temporalmente el autocompletado de SQL Server Management Studio al escribir una consulta? No quiero deshabilitar el autocompletado completamente, solo digo mantener presionada una tecla mientras escribo una palabra en particular para que no se interponga.

Por ejemplo, digamos que tuve la siguiente consulta

SELECT Foo, Foo2 FROM SomeTable

Mientras escribo Fooy luego pulsa la barra espaciadora patadas de auto-completado de SQL Server Management Studio y la ultima Fooa FooBar.

Jack
fuente
66
Encontrará que IntelliSense en SQL Server 2012 Management Studio es mucho menos agresivo. No puedo soportarlo en 2008: si hay una columna llamada ID, se cambia a IDENT_CURRENT. Vómito.
Aaron Bertrand
1
@AaronBertrand - ¿Al presionar espacio o coma todavía se completa automáticamente? Me parece muy molesto, ya que estoy acostumbrado a tener que presionar para eso en otros entornos y el 95% del tiempo se completa automáticamente a algo que luego necesito eliminar al final.
Martin Smith
@MartinSmith para espacio y coma, se interpretan como deberían ser, a menos que use la flecha hacia abajo para resaltar la selección obvia (esta es una pulsación de tecla), luego presione espacio o coma. Tab elige la opción que SSMS cree que quisiste decir. Y el algoritmo para la "mejor opción" es 1000 veces mejor que 2008/2008 R2. La mejor parte para mí es una coincidencia parcial. escriba sys.dependy la lista de autocompletar se filtra a todos los DMV / vistas de catálogo que contienen depend .
Aaron Bertrand
1
@ MartininSmith Esto no ayudará a OP, pero creo que encontré una solución en SSMS 2014 ... publicado a continuación.
Doug_Ivison
1
@Doug_Ivison He publicado esta pregunta hace bastante tiempo, ahora estoy usando SSMS 2016. Creo que es mejor en este sentido ahora ...
Jack

Respuestas:

26

Presione ESCpara cerrar la ventana cuando termine de escribir la palabra antes de presionar el espacio, pero si presiona ESCdespués de 'fo' y luego escribe 'o', se activará nuevamente.

Otra opción si no lo usa con frecuencia sería deshabilitarlo ( Tools->Options->Text Editor->Transact-SQL->General->Auto list members) y usar CTRL+ Jpara abrirlo manualmente cuando quiera usarlo. Red Gate también tiene un producto llamado SQL Prompt que podría ofrecer más control.

Además, hay una opción "Intellisense Enabled" en el menú Consulta y en la barra de herramientas Consulta si desea deshabilitarla / habilitarla temporalmente.

Jason Goemaat
fuente
1
(Esto también funciona en otras herramientas de MS como VS.)
pst
Gracias, pero sigue siendo muy molesto para los nombres que contienen espacios ( [Foo Bar]por ejemplo) ya que, como mencionaste, se activa nuevamente, por lo que terminas necesitando seguir golpeando ESC. Dejaré la pregunta abierta un poco más antes de aceptar ver si alguien conoce una solución diferente.
Estoy de acuerdo, no creo que el autocompletado deba habilitarse en una cláusula select, a menos que ya tenga especificadas sus tablas from.
1
Ctrl+space(la tecla de acceso rápido más común) también funciona para mostrar el autocompletado.
Marc
4

Si deshace (ctrl-Z) después de que aparezca la selección automática incorrecta, se restaurará su entrada original.

BKeith
fuente
2

Esto no ayudará con SSMS 2008, pero (en caso de que otros encuentren esta página, como yo lo hice), creo que encontré una solución en SSMS 2014:

En el menú desplegable Editar, en la parte inferior, selecciona Intellisense y luego alterna "Completar palabra".

Esto parece desactivar la finalización implícita de palabras cuando se escribe un espacio, pero todavía obtengo los menús desplegables que se ofrecen para completar los nombres de columna, que se pueden seleccionar con flechas y luego regresar / tabulación / espacio.

Doug_Ivison
fuente