如何在SQL Server Management Studio 2012中查找匹配的开始和结束语句?

时间:2012-08-30 21:51:36

标签: sql-server ssms

如何在SQL Server Management Studio 2012中查找匹配的开始和结束语句?我有一个很长的存储过程,有多个级别的多页嵌套if语句。 SQL已经格式化。我的问题与this one非常相似,但我使用的是现在使用Visual Studio Shell的SSMS 2012。我想知道MS是否添加了此功能,或者是否有外部工具或SSMS插件可以执行此功能。

否则我将不得不诉诸旧问题中的解决方案。

5 个答案:

答案 0 :(得分:19)

如果有人还在寻找答案,那就是 CTRL +]

答案 1 :(得分:8)

我似乎能够让BEGIN / END的代码崩溃没问题。在工具>下观察我的设置选项>文本编辑器>的Transact-SQL:

enter image description here

请注意,我启用了智能感知功能,并在工具>下选中了“大纲语句”。选项>文本编辑器> Transact-SQL>智能感知:

enter image description here

行号确实有帮助。如果我折叠包含BEGIN的行,则下一行号是在 END之后的

enter image description here

答案 2 :(得分:3)

这不是答案,我还没有足够的声誉发表评论。

除了您提到的其他主题中提到的解决方案之外,我认为没有办法。我要做的是,删除END,再次写END,它会变灰,与此BEGIN匹配的END也会变灰。然后我只搜索代码中的灰色单词。

答案 3 :(得分:2)

CTRL + ] ,用于从BEGIN跳转到匹配的END。从BEGIN跳到匹配END的相同键。

CTRL + SHIFT + ] 可以选择在BEGIN和{{1}之间跳转的代码块}。

如果已安装SQL Prompt,请单击ENDBEGIN),以灰色突出显示匹配的ENDEND)。

答案 4 :(得分:1)

您需要的功能称为Edit.GotoBrace,并且存在于SSMS v 2008和2012中。 它有不同的快捷方式,具体取决于您的ssms的语言版本。我有SSMS2008 EN和SSMS2012德语,我的键盘布局是德语。所以快捷方式是:

SSMS 2008 EN

找到匹配的开始/结束

Edit.GotoBrace Text Editor::Ctrl+´

相同,但也扩展选择

Edit.GotoBraceExtend Text Editor::Ctrl+Shift+´

SSMS 2012德语

Edit.GotoBrace (Bearbeiten.GehezuKlammer) Text-Editor::Ctrl+´

Edit.GotoBrace (Bearbeiten.GehezuKlammer) Text-Editor::Ctrl+9

Edit.GotoBraceExtend (Bearbeiten.ErweiternbisKlammer) Text-Editor::Ctrl+Shift+´

Edit.GotoBraceExtend (Bearbeiten.ErweiternbisKlammer) Text-Editor::Ctrl+Shift+9

在SSMS 2012中,您可以使用本机键盘快捷方式管理器查看/更改此命令或任何其他命令的快捷方式。 但是:本机命令有一个缺点:你必须在开始/结束时跳转到配对令牌。

我为ssms开发了一个免费的加载项,并且已经实现了昨天改进的函数,它允许从嵌套代码中的任何位置跳转到父开始/结束标记。它将在下一版本中提供。所以,如果你喜欢我的想法 - 等到下一个版本。加载项称为SSMSBoost。我也用它来快速找到你的问题的答案: - 它有“转储SSMS快捷方式”& “转储SSMS命令”功能,它提供了ssms中所有可用功能的完整列表(并且它允许在SSMS2008中重新定义快捷方式,其中快捷方式管理器是绝对的)