Фрагменты и ярлыки SSMS
Я использую 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>
4 ответа
Нет, по какой-то причине Microsoft, похоже, не заинтересована в реальной реализации этой функции, несмотря на то, что фрагменты кода без нее бесполезны (из-за количества щелчков мышью и нажатий клавиш необходимо вставить фрагмент).
Сколько раз в день вы набираете "SELECT * FROM..." или "SELECT TOP 10 * FROM "... и т. Д.??! Очень расстраивает!
Даже SSMS 2016 Release Candidate все еще не поддерживает его.
"ApexSQL Complete" (бесплатный инструмент), очевидно, сделает это, но пока не поддерживает SSMS 2016!
Добавьте свой фрагмент в папку "Функции", где находятся другие фрагменты SurroundsWith. Затем нажмите клавиши CTRL + K, CTRL + S (ярлык для SurroundsWith Snippets), введите несколько букв из имени своего фрагмента и нажмите ввод. Если только папка "Функции" имеет фрагменты SurroundsWith, то никакие другие папки не будут отображаться в контекстном меню. В противном случае вы можете ввести несколько букв из соответствующего имени папки и нажать вкладку. Этот процесс очень похож на этот ответ.
Для моей среды расположены фрагменты 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>
В ApexSQL Complete у вас есть возможность сделать это и, конечно, поддерживать SSMS 2016 и даже новую SSMS 17 RC, за исключением того, что она абсолютно бесплатна.
Не беспокойтесь о том, чтобы придать ему определенный ярлык.
Просто добавьте его в папку "Мои фрагменты".
Обязательно сохраните как.snippet
Нажмите Ctrl+K, Ctrl+S
Стрелка вниз, чтобы мои фрагменты введите
стрелка вниз к фрагменту, который вы хотите ввести
Ваш фрагмент будет окружать код, который вы хотели.