C# 自定义常用的代码片段

一、Visual Studio

配置路径:工具=》代码片段管理器=》语言选择CSharp 和 VisualC#;就能看到代码片段的配置文件夹。可以复制一个到桌面来作为模板修改。

  1. task.snippet

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>task</Title>
            <Shortcut>task</Shortcut>
            <Description>task</Description>
            <Author>bear coding</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Code Language="csharp"><![CDATA[Task.Run(()=>{
            $selected$ $end$
        });]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>
  1. taska.snippet

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>taska</Title>
            <Shortcut>taska</Shortcut>
            <Description>taska</Description>
            <Author>bear coding</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Code Language="csharp"><![CDATA[Task.Run( async ()=>{
            $selected$ $end$
        });]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>
  1. class.snippet 已经有默认的了,不过可以替换掉

<?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>class</Description>
            <Author>bear coding</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>className</ID>
                    <Default>Name</Default>
                    <ToolTip>类名</ToolTip>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[
                    /// <summary>
                    /// 
                   /// </summary>
            public class $className$
            {
                $selected$ $end$    
            }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>
  1. class_ctor.snippet 带构造函数的class代码块

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>class_ctor</Title>
            <Shortcut>class_ctor</Shortcut>
            <Description>带构造函数的class</Description>
            <Author>bear coding</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>className</ID>
                    <Default>Name</Default>
                    <ToolTip>类名</ToolTip>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[            
            /// <summary>
                /// 
                /// </summary>
            public class $className$
            {        
                /// <summary>
                    /// 
                    /// </summary>
                public $className$()
                {
                }
                $selected$ $end$    
            }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>
  1. method.snippet 自动生成方法

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>method</Title>
            <Shortcut>method</Shortcut>
            <Description>method</Description>
            <Author>bear coding</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>return</ID>
                    <Default>void</Default>
                    <ToolTip>返回类型</ToolTip>
                </Literal>
                <Literal>
                    <ID>method</ID>
                    <Default>MyMethod</Default>
                    <ToolTip>方法名称</ToolTip>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[
        public $return$ $method$($selected$$end$){
             
        }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

二、Visual Studio Code

配置路径:左上角=》文件=》首选项=》配置用户代码片段;在拉下框中选择csharp就会自动生成代码片段配置文件。

{
    "task": {
        "prefix": "task",
        "body": [
            "Task.Run(()=>{",
            "",
            "});"
        ],
        "description": "task"
    },
    "taska": {
        "prefix": "taska",
        "body": [
            "Task.Run( async ()=>{",
            "",
            "});"
        ],
        "description": "异步task"
    },
    "class": {
        "prefix": "class",
        "body": [
            "/// <summary>",
            "/// ",
            "/// </summary>",
            "public class $1",
            "{",
            "    $2",
            "}"
        ],
        "description": "public class"
    },
    "class_ctor": {
        "prefix": "class_ctor",
        "body": [
            "/// <summary>",
            "/// ",
            "/// </summary>",
            "public class $1",
            "{",
            "    /// <summary>",
            "    /// ",
            "    /// </summary>",
            "    public $1()",
            "    {",
            "    }",
            "    $2",
            "}"
        ],
        "description": "带构造函数的public class"
    },
    "method": {
        "prefix": "method",
        "body": [
            "public $1 ($2)",
            "{",
            "    $3",
            "}"
        ],
        "description": "方法"
    }
}