VisualStudio2019 利用代码片段管理器新建快捷命令

一、前言

  VisualStudio 可以通过敲出缩写字符串,然后按两次Tab按键自动展开成一段对应语义的代码。

  敲缩写cw:
  在这里插入图片描述
  然后按两次Tab会自动展开成

  

我们可以通过VisualStudio中的代码段管理器自定义这样的缩写字符串和其展开后的字符串。

二、内置片段

  点击 “工具”->“代码段管理器”

 可以看到名称为”cw“的配置文件定义了上面说的缩写“cw”的自动自动展开功能。

三、自定义代码片段

  系统内置“class”代码片段以供我们快速的创建类,但是却没有创建方法的代码段,现在我们自定义一个方法的代码片段。

  1.找到“class”片段的位置并打开

  

  仔细看一下这份XML其实可以发现关键的地方就三处.

  ①上面的Shortcut标签定义了缩写字符串。

  ②中间Declaration标签定义了所需要的变量。

  ③<Code>xxx</Code>标签定义了输出的格式。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>class</Title>
            <Shortcut>class</Shortcut>
            <Description>类的代码片段</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>name</ID>
                    <ToolTip>类名</ToolTip>
                    <Default>MyClass</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[class $name$
    {
        $selected$$end$
    }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

 

   2.新建me.snippet文件,并改动为如下内容。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>me</Title>
            <Shortcut>me</Shortcut>
            <Description>方法的代码片段</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>name</ID>
                    <ToolTip>方法名</ToolTip>
                    <Default>MyMethod</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[public void $name$()
    {
        $selected$$end$
    }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

 

  3.导入该代码片段

  

 

  4.代码里敲“me”

  

  5.双击Tab自动展开:

    

  So,对于使用非常频繁又很长的代码段,就可以通过在VisualStudio中自定义配置文件来减轻自己的工作量啦。

四、其他

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>ptres</Title>
            <Shortcut>ptres</Shortcut>
            <Description>生成POST异步Action返回方法</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>name</ID>
                    <ToolTip>方法名</ToolTip>
                    <Default>Action</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[
            [HttpPost]
            public async Task<IActionResult> $name$()
           {
              $selected$$end$
              return Ok();
           }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>gtres</Title>
            <Shortcut>gtres</Shortcut>
            <Description>生成GET异步Action返回方法</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>name</ID>
                    <ToolTip>方法名</ToolTip>
                    <Default>Action</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[
            [HttpGet]
            public async Task<IActionResult> $name$()
           {
              $selected$$end$
              return Ok();
           }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

 

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>sprop</Title>
            <Shortcut>sprop</Shortcut>
            <Description>生成string类型参数</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>name</ID>
                    <ToolTip>属性名</ToolTip>
                    <Default>MyProperty</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[
                /// <summary>
                /// $selected$$end$
                /// </summary>
                public string $name$ { get; set; }
           ]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>iprop</Title>
            <Shortcut>iprop</Shortcut>
            <Description>生成int类型参数</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>name</ID>
                    <ToolTip>属性名</ToolTip>
                    <Default>MyProperty</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[
                /// <summary>
                /// $selected$$end$
                /// </summary>
                public int $name$ { get; set; }
           ]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

 

posted @ 2020-04-13 23:21  HuTiger  阅读(2944)  评论(0编辑  收藏  举报