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 ...
La combinaison de touches (Ctrl + K, Ctrl + D) est liée à la commande (Formater le document) qui n’est actuellement pas disponible.
... 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:
- Aller à
Tools > Options > Environment > Keyboard
- Placez votre curseur dans la
Press shortcut keys:
case
- Hit Ctrl+ K, Ctrl+D
Changer le Shortcut currently used by:
menu déroulant de DataWarehouse 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:
Applique la mise en retrait et la mise en forme de l'espace pour la langue spécifiée dans le volet Mise en forme de la langue dans la section Editeur de texte de la boîte de dialogue Options . Disponible uniquement dans l'éditeur de texte et pour certaines langues .
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.
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égatif