Selon ce document Microsoft:
http://msdn.microsoft.com/en-us/library/ms174205.aspx
Je suis supposé pouvoir utiliser ctrl + K puis ctrl + D pour formater mes documents SQL dans SQL Server Management Studio 2012, mais lorsque j'utilise cette liste déroulante, l'erreur suivante apparaît:
La combinaison de touches (Ctrl + K, Ctrl + D) est liée à la commande (Formater le document) qui n’est actuellement pas disponible.
J'essaie d'apporter des modifications à un document SQL existant qui n'a aucun format, ce qui le rend extrêmement difficile à lire. Est-ce que quelqu'un sait comment rendre la commande Format du document disponible afin que je puisse avoir le code SQL ce code pour moi?
sql-server
ssms
Aaron Bertrand
la source
la source
Available only in the text editor
est la façon dont le rédacteur technique dit "pas l'éditeur de requêtes" sans appeler explicitement le négatifRéponses:
La combinaison de clavier que vous recherchez ( Ctrl+ K, Ctrl+ D) sert à "formater" - mais pas dans la mesure que vous semblez attendre. Ce n’est pas un prétexte, il est simplement utilisé pour insérer l’espacement correct et les tabulations, comme dans le cas présent
Tools > Options > Text Editor > Transact-SQL > General/Tabs
. Ainsi, si vous mettez en surbrillance une partie du texte et appuyez sur la combinaison de touches, elle est supposée convertir les tabulations en 4 espaces (si vous avez sélectionné insert espaces), appliquez le type d’indentation que vous avez spécifié, etc.Cette option N'EST PAS destinée à rendre le code plus lisible - il ne s'agit pas d'une fonctionnalité actuellement proposée par Management Studio en mode natif. Bien qu'il existe plusieurs options tierces - certaines sont externes à Management Studio, telles que:
Et il existe également des compléments pour différents niveaux d’aide au formatage dans l’éditeur:
Maintenant, la raison pour laquelle vous recevez le message ...
... c'est parce que SSMS a associé cette combinaison de touches à un contexte différent. La façon dont vous devriez pouvoir "réparer" ceci - encore une fois, cela ne ferait toujours pas ce que vous voulez, même si le "correctif" fonctionne - est comme suit:
Tools > Options > Environment > Keyboard
Press shortcut keys:
caseChanger le
Shortcut currently used by:
menu déroulant deDataWarehouse Designer
àText Editor
appuyer sur OK
Maintenant, ceci est supposé mapper la combinaison de clavier sur l'éditeur de texte, mais Management Studio la rétablit après avoir appuyé sur OK (vous continuerez à recevoir le message d'erreur. Je pense donc que le problème est que la documentation pense que cette fonctionnalité existe, mais la gestion Studio sait mieux et ne l’offre tout simplement pas (et Microsoft l’écrira probablement comme un bogue dans la documentation et le corrigera plutôt que comme une lacune dans l’outil). Il y aura peut-être de l’espoir dans l’avenir, mais pour le moment, Il s'agit d'un problème connu et en grande partie ignoré . Vous remarquerez que l'
Formatting
onglet auquel la documentation fait référence n'est tout simplement pas présent (bien qu'il existe pour XML, où la combinaison de touches fonctionne). La documentation devrait probablement indiquer:Une autre manière de se faire une idée du type d’options de formatage offertes par SSMS consiste à
Tools > Customize > Commands > Edit > Add Command... > Format
consulter la liste des commandes possibles. Rien n'indique qu'il existe une connaissance de la langue réelle, donc il ne saurait pas où insérer des sauts de ligne, ni ajouter des retraits, ni aider avec des parenthèses, etc.Si vous souhaitez une mise en forme spécifique à la langue pour rendre le code T-SQL existant plus lisible, vous ne tirerez pas grand profit de SSMS et vous devrez rechercher d'autres options.
la source
Ctrl+K, Ctrl+D
utilisant d'abord leRemove
bouton, puis suivait le programme en quatre étapes d'Aaron pour lier le clavier, comme défini ci-dessus (Tools > Options > Environment > Keyboard
). Voici une capture d'écran de maOptions
boîte de dialogue, une fois que tout est configuré: pasteboard.co/GDYkh3h.jpg .Je ne crois pas que cela soit possible dans SSMS. Un élément Connect a été ouvert pour cette fonctionnalité.
Ce que j’aime personnellement utiliser pour du code SQL mal formaté, c’est l’application Web sur Poor SQL . Il fait un très bon travail de formatage du code SQL selon vos spécifications. Génère même du HTML si vous le souhaitez. Je n'utilise ni le plug-in SSMS ni aucun des autres produits livrables annoncés, mais je saute toujours sur le site pour effectuer le formatage rapide, puis copier / coller directement dans SSMS.
la source
Installez un add-on qui fait cela. J'utilise Free Edition of SQL Complete: http://www.devart.com/dbforge/sql/sqlcomplete/, qui offre des fonctionnalités de formatage SQL de base . Il s'intègre à SSMS et utilise Ctrl + K, D.
la source
SqlSmash est un outil commercial qui vous permet de formater votre code SQL (et bien plus encore) dans SSMS 2012 et 2014. Le raccourci clavier par défaut est (Ctrl + K, Ctrl + D).
Disclaimer: Je suis le développeur derrière cela.
la source