在Visual Studio和其他ide中,您可以通过键盘快捷键,通过菜单或在键入时自动格式化代码。

我想知道是否有一种方法可以在SQL Server Management Studio中启用这个标准功能?

我正在使用一些较大的存储过程,这些过程是格式较差的SQL的混乱,如果我可以选择“全选->格式SQL”,那就太好了


当前回答

然而由于某种原因,微软忽略了在SSMS中实现这一点 我发现下面的网站在格式化方面做得很好 SQL代码:

https://www.red-gate.com/website/sql-formatter

Also

https://codebeautify.org/sqlformatter

虽然这一个也相当不错,但它产生的代码对我来说有点太啰嗦了,所以我最喜欢的是

 red-gate.com

其他回答

然而由于某种原因,微软忽略了在SSMS中实现这一点 我发现下面的网站在格式化方面做得很好 SQL代码:

https://www.red-gate.com/website/sql-formatter

Also

https://codebeautify.org/sqlformatter

虽然这一个也相当不错,但它产生的代码对我来说有点太啰嗦了,所以我最喜欢的是

 red-gate.com

我偶然发现了一个特别的把戏。

选择要格式化的查询。 Ctrl+Shift+Q(这将在查询设计器中打开查询) 然后点击OK 瞧!查询设计器将为您格式化查询。 需要注意的是,您只能对语句执行此操作,而不能对过程代码执行此操作,但这总比没有强。

Azure Data Studio -免费和来自微软-提供自动格式化(ctrl + shift + p同时编辑->格式文档)。关于Azure Data Studio的更多信息请点击这里。

虽然这不是SSMS,但它非常适合编写查询,而且是免费的,而且是微软的官方产品。它甚至是跨平台的。 简短的故事:只需切换到Azure Data Studio来编写查询!

从SQL Server Management Studio (SSMS) 18.7开始,Azure Data Studio将自动与SSMS一起安装。

更新:实际上Azure Data Studio在某种程度上是微软推荐的编写查询的工具(来源)

使用Azure Data Studio,如果您:[..]大部分都在编辑或执行 查询。

迟回答,但希望值得:The Poor Man's T-SQL Formatter是一个开源(免费)T-SQL格式化器,具有完整的T-SQL批处理/脚本支持(任何DDL,任何DML), SSMS插件,命令行批量格式化器和其他选项。

它可以在http://poorsql.com上立即/在线使用,今天刚刚升级到“版本1.0”(beta版本已经有几个月了),刚刚获得了对MERGE语句、OUTPUT子句和其他复杂内容的支持。

SSMS插件允许您设置自己的热键(默认是Ctrl-K, Ctrl-F,以匹配Visual Studio),并格式化整个脚本或仅格式化您选中/突出显示的代码(如果有的话)。输出格式是可定制的。

在SSMS 2008中,它很好地结合了内置的智能感知,有效地提供了或多或少与Red Gate的SQL Prompt相同的基本功能(SQL Prompt当然有额外的东西,如代码片段、快速对象脚本等)。

反馈/功能请求是非常欢迎的,请给它一个旋转,如果你有机会!

披露:这可能已经很明显了,但我写了这个库/工具/网站,所以这个答案也是无耻的自我推销:)