День шестьдесят первый. #TipsAndTricks

11. Сниппеты

Многие наверняка знакомы со встроенными в Visual Stodio Сниппетами, но стоит отметить, что они расширяемые. Вы можете добавлять свои сниппеты. Директория хранения сниппетов по умолчанию: %имяпользователя%\Documents\Visual Studio 2017\Code Snippets\Visual C#\My Code Snippets.

Давайте для примера создадим сниппет var для определения переменной:

<?xml version="1.0" encoding="utf-8" ?>

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">

<CodeSnippet Format="1.0.0">

<Header>

<Title>Var</Title>

<Shortcut>var</Shortcut>

<Description>Code snippet for instantiating an object with full type info</Description>

<Author>Anson Horton</Author>

<SnippetTypes>

<SnippetType>Expansion</SnippetType>

</SnippetTypes>

</Header>

<Snippet>

<Declarations>

<Literal>

<ID>type</ID>

<Default>Example</Default>

<ToolTip>The type to construct</ToolTip>

</Literal>

<Literal>

<ID>variable</ID>

<Default>example</Default>

<ToolTip>The variable name</ToolTip>

</Literal>

<Literal>

<ID>args</ID>

<Default></Default>

<ToolTip>The constructor arguments</ToolTip>

</Literal>

</Declarations>

<Code Language="csharp">

<![CDATA[$type$ $variable$ = new $type$($args$);$end$]]>

</Code>

</Snippet>

</CodeSnippet>

</CodeSnippets>

Теперь, когда вы введёте var в файле C# и дважды нажмёте tab, будет вставлен следующий код:

Example example = new Example();

После этого можно клавишей tab перемещаться по литералам и изменять их, при этом все ссылки на одинаковый литерал будут обновляться автоматически. Сниппеты поддерживаются для многих языков в Visual Studio, включая Visual Basic, C#, CSS, HTML, JavaScript, TSQL, TypeScript, Visual C++, XAML и XML.



Источник: https://devblogs.microsoft.com/visualstudio/7-hidden-gems-in-visual-studio-2017/