我在 Windows 10 上使用 SQL Server Management Studio 2016。我厌倦了使用 shift/ctrl+up/down/right/left 键来选择我想要运行的代码。我想知道是否有快捷方式/片段来选择一个由空行与其他代码分隔的代码块?
这是一个代码示例:
select *
from tab1
select *
from tab2
select *
from tab3
说,我的光标在中间块内,选择中间块的最佳方法是什么?
我在 Windows 10 上使用 SQL Server Management Studio 2016。我厌倦了使用 shift/ctrl+up/down/right/left 键来选择我想要运行的代码。我想知道是否有快捷方式/片段来选择一个由空行与其他代码分隔的代码块?
这是一个代码示例:
select *
from tab1
select *
from tab2
select *
from tab3
说,我的光标在中间块内,选择中间块的最佳方法是什么?
使用 Autohotkey,我能够开发一个选择代码块的解决方案,这是我拥有的脚本:
具体来说,按 Alt + B 将调用此脚本,脚本将选择光标所在的代码块。请注意,代码块必须与其他代码块用空行分隔,并且代码块内部不能有空白行。
about 脚本的关键步骤是
使用正则表达式“^\r$”定位光标上下的空行
将光标一一移动到这两个空行
使用 ctrl + = 选择这两个空行之间的代码块。
请注意,!/^/+ 分别是 alt/ctrl/shift。
在 SSMS 中快速选择代码块的一种方法是使用
-
SQL 语句(例如 SELECT、UPDATE、DELETE、WITH 等)中前导关键字旁边的按钮来最小化代码,然后突出显示该行并按下F5
以执行它。根据您的 SSMS 版本(在这种情况下显然首选较新的版本),您还可以使用一些键盘快捷键来折叠/展开部分。Simon Hellings 较早的回复提供的键盘快捷键链接暗示已经设置了热键,但我无法确认它们确实有效。但是,您可以设置一些自定义热键来执行此操作,如下所示:
我们关心的设置热键的功能位于
Edit
->Outlining
菜单选项下:要设置热键,请导航至
Tools
->Options...
->Environment
->Keyboard
->Keyboard
。在Outlin
“显示包含以下内容的命令”框中键入内容。Edit.ToggleAllOutlining
然后为and分配一个新的快捷键组合,Edit.ToggleOutliningExpansion
然后按Assign
:现在,检查按下确定后使用的快捷方式,您的快捷键应该按预期工作。如您所见,我将我的分配给
CTRL+ALT+Left Arrow
andCTRL+ALT+Right Arrow
,但您可以使用任何您想要的:最后,如果这不起作用,您可能必须切换到不同的 SQL 客户端。听起来您想要的功能类似于通过
CTRL + ENTER
Oracle SQL Developer 执行 Oracle PL/SQL 块。您可以使用 Oracle SQL Developer 使用第三方数据库 JDBC 驱动程序 ( ref ) 连接到 SQL Server,但我不建议这样做。我不隶属于 Red-Gate,但我想指出,如果您按下 Shift-F5,当您拥有 SQL Prompt 的新副本时,您的光标所在的查询将标记为绿色并执行.
它确实为我节省了很多击键。
根本不要使用
up
/down
/right
/left
键来选择要运行的代码。假设可以使用计算机鼠标,请执行以下操作:
Ctrl
键,然后移动鼠标以包含要包含的最后一个字符。Ctrl
键,然后按E
将执行突出显示的文本的键。如果你想删除刚刚执行的代码,你应该继续按住
Ctrl
键,然后按下Delete
键。我想有人可能已经创建了一个自动执行此操作的工具。
我不认为这是可能的。在此处查看默认开箱即用快捷方式的完整列表。您可以从工具 --> 选项菜单中自定义某些内容