SSMS片段和快捷方式

rec*_*nym 12 sql-server ssms ssms-2014

我正在使用SSMS 2014.我能够插入一个片段,但它们似乎没有响应快捷方式(即crproc [tab])

这个功能是否有效?

<?xml version="1.0" encoding="utf-8" ?>
 <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
 <CodeSnippet Format="1.0.0">
 <Header>
 <Title>prod1</Title>
 <Description>testing</Description>
 <Author> dale </Author>
 <SnippetTypes>
 <SnippetType>Expansion</SnippetType>
 </SnippetTypes>
 <Shortcut>crproc</Shortcut>
 </Header>
 <Snippet>
 <Declarations>
 <Literal>
 <ID>DatabaseName</ID>
 <ToolTip>Name of database.</ToolTip>
 <Default>DB</Default>
 </Literal>
 </Declarations>
 <Code Language="SQL">
 <![CDATA[
 ------------------------------------------------------
 -- FILENAME: Template-Expansion.snippet
 -- PURPOSE: Template for Expansion (Insert) snippets.
 -- AUTHOR: Ken O. Bonn
 -- DATE: May 15, 2013
 ------------------------------------------------------
 SET NOCOUNT ON;

 EXEC SP_HELPDB $DatabaseName$;

 ]]>
 </Code>
 </Snippet>
 </CodeSnippet>
 </CodeSnippets>
Run Code Online (Sandbox Code Playgroud)

Nic*_*k D 14

不,由于某种原因,微软似乎没有兴趣实际实现这个功能,尽管没有代码片段是完全无用的(因为你需要插入一个片段的鼠标点击和按键次数).

你每天输入多少次"SELECT*FROM ..."或"SELECT TOP 10*FROM"......等等.很沮丧!

即使是SSMS 2016 Release Candidate仍然不支持它.

"ApexSQL Complete"(免费工具)显然会做到,但这还不支持SSMS 2016!


Han*_*onn 7

将您的代码片段添加到“Functions”文件夹中,其中可以找到其他 SurroundsWith 代码片段。然后按 CTRL + K、CTRL + S(SurroundsWith Snippets 的快捷方式)并输入片段名称中的几个字母,然后按 Enter。如果只有“Functions”文件夹具有 SurroundsWith 片段,则上下文菜单中不会显示其他文件夹。否则,您可以输入相应文件夹名称中的几个字母,然后按 Tab 键。这个过程很像这个答案。

对于我的环境,Begin、If 和 While 片段位于:

C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\SQL\Snippets\1033\Function

以下是 SELECT * FROM 的示例片段:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>Select</Title>
            <Shortcut>sel</Shortcut>
            <Description>SELECT * FROM _ WHERE 1=1 AND</Description>
            <Author/>
            <SnippetTypes>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Code Language="SQL">
                <![CDATA[
SELECT * FROM dbo.$selected$$end$
WHERE 1=1
--AND
]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>
Run Code Online (Sandbox Code Playgroud)

  • @Saulius,我很抱歉我的帖子有点长。如果你按照它来操作,它会告诉你如何找到工作的捷径。基本上,您将快捷方式插入 SurroundsWith 片段中,然后使用 CTRL + K、CTRL + S 和您指定的快捷方式快速调用它。 (2认同)