用 [ 和 ] 包围列名称的键盘快捷键

问题描述 投票:0回答:3

我想知道 SSMS 中是否有键盘快捷键,可以用 [ 和 ] 字符包围选定的列名称(或给定光标位置的不间断字符序列)。

所以,如果我有

user_id
并且按下类似
CTRL + SHIFT + [ + ]
之类的东西,它就会变成
[user_id]
。有这样的键盘快捷键吗

sql-server ssms
3个回答
13
投票

括号中的文本周围没有开箱即用的键盘快捷键,但您可以使用自定义代码片段创建自己的键盘快捷键。您可以查看这篇博客文章以获取清晰的步骤,但我将在此处简要列出它们。

打开记事本并粘贴此 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


0
投票

我使用 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,但可以轻松更改。

添加括号宏有点挑剔,因为它会在您选择的内容的末尾和开头添加一个括号,即使有空格 - 这可以修复,但我个人在选择我想要的内容时没有遇到麻烦.


0
投票

将光标置于单词左侧以包围

输入 [ 然后按 ctl-return

这将使用自动完成功能将当前单词用方括号括起来。

***仅当当前脚本在适当的数据库中运行以自动完成以查找名称时才有效。 {列、表、架构等}

© www.soinside.com 2019 - 2024. All rights reserved.