您要使用的键盘组合(Ctrl+ K,Ctrl+ D)用于“格式化”-但程度并非您所期望的那样。它不是修饰词,仅用于插入正确的空格和制表符,如Tools > Options > Text Editor > Transact-SQL > General/Tabs
-中所示,因此,如果突出显示部分文本并按下键盘组合键,则应该将制表符转换为4个空格(如果已选择插入,空格),应用您指定的缩进类型等。
此选项并非旨在使代码更具可读性-这不是Management Studio当前提供的功能。尽管有多个第三方选项-有些在Management Studio外部,例如:
此外,编辑器中还提供用于各种级别格式化帮助的加载项:
现在,您收到消息的原因...
组合键(Ctrl + K,Ctrl + D)绑定到当前不可用的命令(格式化文档)。
...是因为SSMS已将该键组合映射到其他上下文。您应该能够“修复”此问题的方法-再次,即使“修复”成功了,它仍然不会做您想要做的事情-通过执行以下操作:
- 去
Tools > Options > Environment > Keyboard
- 将光标置于
Press shortcut keys:
框中
- 按Ctrl+ K,Ctrl+D
将Shortcut currently used by:
下拉菜单从更改DataWarehouse Designer
为Text Editor
按确定
现在,这应该将键盘组合映射到文本编辑器,但是Management Studio在单击OK后将其还原(您将继续收到错误消息。因此,我认为问题在于文档认为此功能存在,但是Management Studio知道得更好,并且根本不提供它(Microsoft可能会将其记录为文档中的错误,并进行纠正,而不是工具方面的缺陷)。将来可能会有希望,但就目前而言,这是一个已知的问题,在很大程度上被忽略了,您会注意到,文档所涉及的Formatting
选项卡根本就不存在(尽管对于XML来说是存在的,键盘组合确实起作用了),该文档可能应说明:
对在“ 选项”对话框的“ 文本编辑器”部分中的语言的“ 格式”窗格中指定的语言应用缩进和空格格式。仅在文本编辑器中可用,并且仅在某些语言中可用。
了解SSMS本机提供哪种类型的格式设置选项的另一种方法是转到那里Tools > Customize > Commands > Edit > Add Command... > Format
查看可能的命令列表。没有什么表示对实际语言有任何了解,因此它不知道在何处插入换行符或添加其他缩进或辅助括号等。
如果希望特定于语言的格式使现有的T-SQL代码更具可读性,那么SSMS并不会带来太多好处,您需要寻求其他选择。
Available only in the text editor
是技术作者说“不是查询编辑器”而不明确指出否定性的方式