2016-03-01 106 views
7

我使用SSMS 2014年我能插入一个片段,但他们似乎并没有对响应的快捷方式(即crproc [标签])SSMS片段和快捷方式

这是已知功能的工作?

<?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> 

回答

8

没有,由于某种原因,微软似乎已经在实际执行这个功能不感兴趣,尽管代码片断是没有它完全无用的(因为鼠标点击和按键的数量,你需要插入片段) 。

您每天键入“SELECT * FROM ...”或“选择TOP 10 * FROM”等等......多少次? 非常令人沮丧!

即使SSMS 2016 Release Candidate也不支持它。

“ApexSQL Complete”(一款免费工具)显然会做到,但是这并不支持SSMS 2016!

0

ApexSQL Complete您有支持SSMS 2016年甚至是新的SSMS 17 RC,不同之处在于它是完全免费

2

不要担心给它一个特定的快捷方式可能做到这一点,当然。
只需将其添加到我的snippets文件夹下即可。

确保将其保存为是.snippet

按CTRL + K,Ctrl + S键
向下箭头到我的片段进入
向下箭头您要进入片断

您代码段将围绕你想要的代码。

+0

或Ctrl + K,CTRL + X并将其保存在一个差异erent文件夹,如果你想内联。 – StuckOnSimpleThings

+0

OP询问SSMS中的快捷方式功能是否有效,这与您的信息无关。 – Saulius

-1

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

对于我的环境的开始,如果和当段位于:

C:\ Program Files文件(x86)的\微软SQL 服务器\ 130个\ TOOLS \ BINN \ ManagementStudio \ SQL \片段\ 1033 \功能

下面是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> 
+0

OP询问SSMS中的快捷功能是否有效,并且您的信息无关紧要。 – Saulius

+0

@Saulius我道歉我的帖子有点冗长。如果你遵循它,它会告诉你如何获得快捷方式的工作。基本上,您将快捷方式插入到SurroundsWith片段中,然后使用CTRL + K,CTRL + S和您指定的快捷键快速调用它。 –