Как ускорить набор кода и сделать его без ошибок?

Как использовать сниппеты в Visual Studio? Как создавать свои? Как посмотреть, какие уже созданы? Попробуем ответить на все эти вопросы.

Сниппеты— это шаблоны кода, которые позволяют нам вместо полностью ручного ввода команд, использовать короткие сочетания, для того, чтобы сразу получить достаточный объем кода. Создаются они обычно для того, чтобы ускорить время разработки и тратить время на решение интересных задач вместо того, чтобы набирать тот же старый скучный код. например:

Как ускорить набор кода и сделать его без ошибок?
Как ускорить набор кода и сделать его без ошибок?

При нажатии два раза на «Tab» за нас машина заполнила полностью всю команду.

Как ускорить набор кода и сделать его без ошибок?

Сниппеты могут:

  • вставлять «кусок» команды;
  • окружить код, вокруг которого он будет использован.

Обычно используют клавиатурные сочетания, но можно использовать и без него:

Как ускорить набор кода и сделать его без ошибок?
Как ускорить набор кода и сделать его без ошибок?
Как ускорить набор кода и сделать его без ошибок?
if (true) { Console.WriteLine(" "); }

Мы «завернули» команду Console.WriteLine в If.

Так же сниппеты позволяют использовать параметры, как в данном случае с False:

if (false) { Console.WriteLine(" "); }

Еще, при помощи сниппетов мы можем вставлять комментарии в начале метода.

Как ускорить набор кода и сделать его без ошибок?
using System; namespace SnippetExample { class Program { /// <summary> /// Пример комментария /// </summary> /// <param name="args">входные аргументы</param> static void Main(string[] args) { Console.WriteLine("Hello Word!"); if (false) { Console.WriteLine(""); } for (int a = 0; a < length; a++) { } } } }

Теперь метод помечен надписью, которую мы внесли в комментарии, как и в аргумент.

Где они находятся?

В Tools->Code Snippets Manage… ->

Обратите внимание, что сниппеты есть не только С#, но и в других языках программирования.

Как ускорить набор кода и сделать его без ошибок?

В папке Visual C# находятся сниппеты, которые есть по умолчанию.

Можно выбрать сниппет, посмотреть его описание, клавиатурное сочетание. Чтобы посмотреть код шаблона, нужно найти папку где они находятся. Копируем адрес из окна «Location» и вставляем в проводник, перетаскиваем сниппет (например, «If») в окно программы. Перед нами код шаблона.

<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>#if</Title> <Shortcut>#if</Shortcut> <Description>Фрагмент кода для #if</Description> <Author>Microsoft Corporation</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> <SnippetType>SurroundsWith</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal> <ID>expression</ID> <ToolTip>Выражение препроцессора для вычисления</ToolTip> <Default>true</Default> </Literal> </Declarations> <Code Language="csharp"><![CDATA[#if ($expression$) { $selected$ $end$ }]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>

Можно ли создавать свои сниппеты?

Да, можно, это позволяет достаточно сильно экономить время. Но это не просто команда CNTRL+C и CNTRL+V, сниппеты позволяют использовать параметры, и кое-что еще.

Способы создания:

  • копировать код уже готового шаблона сниппета и доработать его;
  • создать с нуля.

Мы рассмотрим второй способ.

Создаем новый файл (Add->New Ite… ->XML File) и даем ему имя (MySnippet.xml)

Как ускорить набор кода и сделать его без ошибок?

Теперь мы можем создать свой сниппет:

Как ускорить набор кода и сделать его без ошибок?

Выбираем snippet

Как ускорить набор кода и сделать его без ошибок?

В итоге мы получили пустой шаблон (желтым отмечены строки, которые мы можем менять)

<?xml version="1.0" encoding="utf-8"?> <CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <Header> <Title>заголовок</Title> <Author>автор</Author> <Shortcut>ярлык</Shortcut> <Description>описание</Description> <SnippetTypes> <SnippetType>SurroundsWith</SnippetType> <SnippetType>Expansion</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal> <ID>имя</ID> <Default>значение</Default> </Literal> </Declarations> <Code Language="XML"> <![CDATA[<test> <name>$имя$</name> $selected$ $end$</test>]]> </Code> </Snippet> </CodeSnippet>

После того, как мы все настроим, нужно переименовать файл с расширением *.snippet

Как ускорить набор кода и сделать его без ошибок?

Теперь добавляем сниппет: Tools->Code Snippets Manage… ->Import…

Как ускорить набор кода и сделать его без ошибок?

Открываем папку, где мы работаем и выбираем сниппет и папку, в которую его поместим.

Как ускорить набор кода и сделать его без ошибок?
44
2 комментария

По заворачивание не знал. Комментарии добавляются по тройному слэшу /// если кто не знал. Каждый день пользуюсь сниппетами prop и форыч. Еще регионы удоьно ими добавлять.

2

Для тех, кому интересно то же самое в VS Code:

2