我想知道 SSMS 中是否有键盘快捷键,可以用 [ 和 ] 字符包围选定的列名称(或给定光标位置的不间断字符序列)。
所以,如果我有
user_id
并且按下类似 CTRL + SHIFT + [ + ]
之类的东西,它就会变成 [user_id]
。有这样的键盘快捷键吗
括号中的文本周围没有开箱即用的键盘快捷键,但您可以使用自定义代码片段创建自己的键盘快捷键。您可以查看这篇博客文章以获取清晰的步骤,但我将在此处简要列出它们。
打开记事本并粘贴此 xml。将其保存为括号.snippet:
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<_locDefinition xmlns="urn:locstudio">
<_locDefault _loc="locNone" />
<_locTag _loc="locData">Title</_locTag>
<_locTag _loc="locData">Description</_locTag>
<_locTag _loc="locData">Author</_locTag>
<_locTag _loc="locData">ToolTip</_locTag>
<_locTag _loc="locData">Default</_locTag>
</_locDefinition>
<CodeSnippet Format="1.0.0">
<Header>
<Title>Brackets</Title>
<Shortcut>br</Shortcut>
<Description>Snippet for Brackets</Description>
<Author>SQL Super Hero</Author>
<SnippetTypes>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>OpenBracket</ID>
<Default>[</Default>
</Literal>
<Literal>
<ID>CloseBracket</ID>
<Default>]</Default>
</Literal>
</Declarations>
<Code Language="SQL"><![CDATA[$OpenBracket$$selected$$CloseBracket$$end$]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
在 SSMS 中,转到“工具”>“代码片段管理器”。
单击导入。找到 Brackets.snippet 文件并单击打开
选择“我的代码片段”作为位置并单击完成
关闭并重新打开 SQL Server Management Studio
您现在应该能够使用该代码片段将突出显示的文本括在括号中。访问代码片段的键盘快捷键是 ctrl+k、ctrl+s
最有效的方法是按以下按键顺序:
突出显示所需文本 > Ctrl+K,Ctrl+S > M > Enter > Enter > Enter
我使用 AutoHotKey 脚本来执行此操作。您可以通过 Google 来了解如何设置 AHK。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; GET RID OF BRACKETS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; winkey + Z
#z::
ClipSaved := ClipboardAll
Send ^c
Clipwait
Sleep 100
str := clipboard
str := RegExReplace(str, "\[|\]") ; Match '[' or ']' - have to escape each with backslash - and replace with nothing
clipboard := str
Sleep 100
Send ^v
Clipboard := ClipSaved
return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ADD BRACKETS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; winkey + V
#v::
ClipSaved := ClipboardAll
Send ^c
Clipwait
Sleep 100
str := clipboard
str := "[" . str . "]"
str := RegExReplace(str, "\.", "].[")
clipboard := str
Sleep 100
Send ^v
Clipboard := ClipSaved
return
用法:突出显示您的文本并按相应的热键。目前,这些宏分别设置为使用 Windows 键 + Z / V,但可以轻松更改。
添加括号宏有点挑剔,因为它会在您选择的内容的末尾和开头添加一个括号,即使有空格 - 这可以修复,但我个人在选择我想要的内容时没有遇到麻烦.
将光标置于单词左侧以包围
输入 [ 然后按 ctl-return
这将使用自动完成功能将当前单词用方括号括起来。
***仅当当前脚本在适当的数据库中运行以自动完成以查找名称时才有效。 {列、表、架构等}