在SSMS的IsNull([text],0)中自动换行所选文本的键盘快捷键

2022-03-07 00:00:00 sql-server ssms isnull

是否可以在SQL Server Management Studio(SSMS)中设置快捷方式,以便在选定文本时将该文本换行到IsNull()语句中?

例如,我突出显示以下文本:

My_column_name

当我单击键盘快捷键时,突出显示的内容变为:

IsNull(My_column_name, 0)

我使用的是SSMS v17.4


解决方案

您可以使用代码段完成此操作。这并不是一条简单的快捷键,但只需按几个键就可以到达那里。

首先,您需要创建如下代码段:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>ISNULL</Title>
            <Shortcut></Shortcut>
            <Description>Inserts ISNULL function</Description>
            <Author>Luis Cazares</Author>
            <SnippetTypes>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
        <Declarations>
        </Declarations>
        <Code Language="SQL"><![CDATA[ISNULL( $end$$selected$, 0)]]>
        </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>
将此文件另存为.snippet文件,并将其保存在用于代码段的文件夹中。您可以将其中一个设置为默认值。若要了解哪个文件夹是您的默认文件夹或要添加其他文件夹,请转到SSMS的"工具"菜单中的Code Snippets Manager

一旦您的代码段位于注册位置,选择代码,按Ctrl+K,Ctrl+S,将出现代码段上下文菜单。您可以遍历它,方法是开始键入文件夹和代码片断名称,然后在到达那里时按Enter或Right键。

对于较短的代码片段来说,这可能不值得,但对于较大的代码片段来说,这是令人惊叹的。我写了更详细的说明in here。

相关文章