如何在 SQL Server Management Studio 2012 中查找匹配的开始和结束语句?我有一个很长的存储过程,其中包含多个级别的多页嵌套 if 语句。SQL 已经格式化。我的问题与这个问题非常相似,但我使用的是 SSMS 2012,它现在使用 Visual Studio Shell。我想知道 MS 是否添加了此功能,或者是否有外部工具或 SSMS 插件可以做到这一点。
否则我将不得不求助于旧问题中的解决方案。
如何在 SQL Server Management Studio 2012 中查找匹配的开始和结束语句?我有一个很长的存储过程,其中包含多个级别的多页嵌套 if 语句。SQL 已经格式化。我的问题与这个问题非常相似,但我使用的是 SSMS 2012,它现在使用 Visual Studio Shell。我想知道 MS 是否添加了此功能,或者是否有外部工具或 SSMS 插件可以做到这一点。
否则我将不得不求助于旧问题中的解决方案。
如果有人仍在寻找答案,那就是CTRL+]。
我似乎能够让 BEGIN / END 的代码崩溃没问题。在工具 > 选项 > 文本编辑器 > Transact-SQL 下观察我的设置:
请注意,我启用了 IntelliSense,并在“工具”>“选项”>“文本编辑器”>“Transact-SQL”>“智能感知”下选中了“大纲语句”:
行号真的很有帮助。如果我折叠包含 BEGIN 的行,则下一个行号是END之后的行:
CTRL+用于从匹配]跳转。从.跳转到匹配的相同键。BEGIN
END
BEGIN
END
CTRL++在SHIFT和之间]跳转时选择代码块。BEGIN
END
如果您已安装 SQL Prompt,单击BEGIN
( END
),将匹配的END
( BEGIN
) 突出显示为灰色。
这不是答案,我还没有足够的声誉发表评论。
除了您提到的另一个主题中指出的解决方案之外,我认为没有办法。我所做的是,删除END
,再次写入END
,它会变灰,BEGIN
与此匹配的END
也会变灰。然后我只是在代码中搜索灰色单词。
您需要的功能称为 Edit.GotoBrace,并且存在于 SSMS v 2008 和 2012 中。它具有不同的快捷方式,具体取决于您的 ssms 的语言版本。我有 SSMS2008 EN 和 SSMS2012 German,我的键盘布局是德语。所以快捷方式是:
SSMS 2008 中文
只需找到匹配的开始/结束
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,没有快捷方式管理器)