一、前言
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>


被折叠的 条评论
为什么被折叠?



