2016-03-01 19 views
7

sto usando SSMS 2014. Sono in grado di inserire un frammento, ma non sembrano rispondere ai tasti di scelta rapida (cioè crproc [scheda])SSMS Snippets e collegamenti

'questa caratteristica nota a lavorare?

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

risposta

8

No, per qualche motivo Microsoft sembrano avere alcun interesse a realtà attuare questa funzione, nonostante frammenti di codice essendo totalmente inutile senza di essa (a causa del numero di clic del mouse e tasti premuti è necessario inserire un frammento) .

Quante volte al giorno digiti "SELECT * FROM ..." o "SELECT TOP 10 * FROM" ... ecc. ??! Molto frustrante!

Anche SSM 2016 Release Candidate continua a non supportarlo.

"ApexSQL Complete" (uno strumento gratuito) apparentemente lo farà, ma questo non supporta ancora SSMS 2016!

0

In ApexSQL Complete avrai la possibilità di fare questo e, naturalmente, che supporta SSMS 2016 e anche nuovo SSMS 17 RC, se non che è totalmente gratuito

2

Non preoccuparti per dargli una scorciatoia specifica.
Basta aggiungerlo nella cartella my snippets.

Assicurati di salvare come .snippet

premere CTRL + K, Ctrl + S
freccia giù per i miei frammenti entrano
Freccia Giù a frammento che si desidera entrare

tua lo snippet circonderà il codice che desideri.

+0

o CTRL + K, Ctrl + X e salvarlo in un diff cartella erent se si desidera inserirlo in linea. – StuckOnSimpleThings

+0

OP ha chiesto se la funzione di collegamento funziona in SSMS e questa informazione è irrilevante. – Saulius

-1

Aggiungere lo snippet alla cartella "Funzioni" in cui sono trovati altri frammenti Surroundswith. Quindi premi CTRL + K, CTRL + S (scorciatoia per Surroundswithth Snippet) e digita alcune lettere dal nome del tuo snippet e premi invio. Se solo la cartella "Funzioni" ha Surrounds con snippet, non verranno visualizzate altre cartelle nel menu di scelta rapida. Altrimenti puoi digitare alcune lettere dal nome della cartella appropriata e premere tab. Questo processo è molto simile a this answer.

Per il mio ambiente di Begin, se e mentre frammenti si trovano:

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

Ecco un frammento di esempio per 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 ha chiesto se la funzione di collegamento funziona in SSMS e le informazioni sono irrilevanti. – Saulius

+0

@Saulius, mi scuso, il mio post è un po 'lungo. Se lo segui, ti mostra come puoi far funzionare le scorciatoie. Fondamentalmente stai inserendo il collegamento nei frammenti Surroundswith, e quindi usando CTRL + K, CTRL + S e il collegamento che hai specificato per richiamarlo rapidamente. –