De acuerdo con este documento de Microsoft:
http://msdn.microsoft.com/en-us/library/ms174205.aspx
Se supone que puedo usar ctrl + K y luego ctrl + D para formatear mis documentos SQL en SQL Server Management Studio 2012, pero cuando uso ese combo obtengo el error:
La combinación de teclas (Ctrl + K, Ctrl + D) está vinculada al comando (Formatear documento) que no está disponible actualmente.
Estoy tratando de hacer modificaciones a un documento SQL existente que no tiene formato, lo que hace que sea extremadamente difícil de leer. ¿Alguien sabe cómo hacer que el comando Formatear documento esté disponible para que yo pueda dar formato SQL a este código?
sql-server
ssms
Aaron Bertrand
fuente
fuente
Available only in the text editor
es la manera del escritor de tecnología de decir "no es el editor de consultas" sin llamar explícitamente la negativaRespuestas:
La combinación de teclado que busca ( Ctrl+ K, Ctrl+ D) es para "formatear", pero no en la medida en que parece esperar. No es un prettifier, solo se usa para insertar el espaciado y las pestañas correctas como se encuentra en
Tools > Options > Text Editor > Transact-SQL > General/Tabs
- así que si resalta una parte del texto y presiona la combinación de teclado, se supone que debe convertir las pestañas en 4 espacios (si seleccionó insertar espacios), aplique el tipo de sangría que ha especificado, etc.Esta opción NO está destinada a hacer que el código sea más legible; esta no es una funcionalidad que Management Studio ofrece actualmente de forma nativa. Aunque hay varias opciones de terceros, algunas son externas a Management Studio, como:
Y también hay complementos para varios niveles de asistencia de formato dentro del editor:
Ahora, la razón por la que recibes el mensaje ...
... es porque SSMS ha asignado esa combinación de teclas a un contexto diferente. La forma en que debería poder "arreglar" esto, una vez más, todavía no haría lo que quiere que haga, incluso si la "solución" funcionó, es haciendo lo siguiente:
Tools > Options > Environment > Keyboard
Press shortcut keys:
cuadroCambiar el
Shortcut currently used by:
menú desplegable deDataWarehouse Designer
aText Editor
presiona OK
Ahora, se supone que esto asigna la combinación de teclado al editor de texto, pero Management Studio la revierte después de presionar OK (continuará recibiendo el mensaje de error. Por lo tanto, creo que el problema es que la documentación cree que esta funcionalidad existe, pero Management Studio lo sabe mejor y simplemente no lo ofrece (y es probable que Microsoft lo descarte como un error en la documentación y lo corrija, en lugar de una deficiencia en la herramienta). Puede haber esperanza en el futuro pero, por ahora, este es un problema conocido y ampliamente ignorado . Notará que la
Formatting
pestaña a la que se refiere la documentación simplemente no está presente (aunque está allí para XML, donde funciona la combinación de teclado). La documentación probablemente debería indicar:Otra forma de tener una idea de qué tipo de opciones de formato ofrece SSMS de forma nativa es ir
Tools > Customize > Commands > Edit > Add Command... > Format
y ver la lista de posibles comandos allí. Nada que indique que hay algún conocimiento del idioma real, por lo que no sabría dónde insertar saltos de línea o agregar sangrías adicionales o ayudar con paréntesis, etc.Si desea que el formato específico del idioma haga que el código T-SQL existente sea más legible, no obtendrá mucho de SSMS, y deberá buscar otras opciones.
fuente
Ctrl+K, Ctrl+D
usar primero elRemove
botón, luego seguir el programa de cuatro pasos de Aaron para vincular el teclado, como se definió anteriormente (Tools > Options > Environment > Keyboard
). Aquí hay una captura de pantalla de cómo seOptions
ve mi cuadro de diálogo, una vez que todo está configurado: pasteboard.co/GDYkh3h.jpg .No creo que esto sea posible en SSMS. Se abrió un elemento Connect para esta función.
Lo que personalmente me gusta usar para un código SQL mal formateado es la aplicación web en Pobre SQL . Realiza un buen trabajo formateando el código SQL según sus especificaciones. Incluso genera HTML si así lo deseas. No utilizo el complemento SSMS ni ningún otro producto que anuncien, siempre salgo al sitio para realizar el formateo rápido y luego copiar / pegar directamente en SSMS.
fuente
Instale un complemento que haga esto. Uso la edición gratuita de SQL Complete: http://www.devart.com/dbforge/sql/sqlcomplete/ que ofrece algunas funciones básicas de formato SQL. Se integra con SSMS y usa Ctrl + K, D.
fuente
SqlSmash es una herramienta comercial que le permite formatear su SQL (y mucho más) en SSMS 2012 y 2014. El método abreviado de teclado predeterminado es (Ctrl + K, Ctrl + D).
Descargo de responsabilidad: soy el desarrollador detrás de esto.
fuente