在VS编辑器里写C#代码的时候,如果你敲一个foreach,然后敲一下Tab键,VS就会自动帮我们补全代码:
foreach (var item in collection)
{
}
打开VS的代码管理器:工具->代码片段管理器,如下图所示:
![](https://img.haomeiwen.com/i115209/3c860013826105c5.png)
Visual Studio默认已经给我们写了好多代码片段了,如果你觉得这些代码片段不够用,想自定义一个代码片段的话,步骤如下:
编辑代码片段
新建一个代码片段文件,```注:代码片段是xml文件,以.snippet为后缀名``,比如我自定义了一个代码片段,文件名是bpr.snippet,右击该文件,在编辑器中打开进行编辑:
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>产品响应实体</Title>
<Shortcut>bpr</Shortcut>
<Description>获取产品响应实体的代码片段</Description>
<Author>心彻</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Imports>
<Import>
<Namespace></Namespace>
</Import>
</Imports>
<References>
<Reference>
<Assembly></Assembly>
</Reference>
</References>
<Declarations>
<Literal>
<ID>name</ID>
<ToolTip>销售一体化DSF调用</ToolTip>
<Default>MyTestMethod</Default>
</Literal>
<Literal Editable="false">
<ID>TestMethod</ID>
<Function>SimpleTypeName(global::Microsoft.VisualStudio.TestTools.UnitTesting.TestMethod)</Function>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[
/// <summary>
/// 方法功能描述
/// </summary>
/// <param name="request">The request.</param>
/// <returns></returns>
public ProductBaseResponse<XXX> GetPromotion(BaseRequest request)
{
if (request == null)
{
return new ProductBaseResponse<XXX> { ResCode = (int)ResultCode.PE_请求参数错误, ResMsg = "请求信息不能为空" };
}
return ClientWrap.Action<ProductBaseResponse<XXX>>(Enum.ServiceGroupEnum.XXX, request, null).Result();
$end$
}]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
保存。
导入自定义代码片段
在代码片段管理器中选中你要导入的文件夹,点击“导入”按钮,选择你刚才编辑的代码片段文件,确认即可。
使用自定义代码片段
在VS代码编辑器里输入bpr,然后敲一下Tab键,则会自动补全你在代码片段里写的代码啦。
节点说明
- <Title>表示此代码片段的标题
- <Shortcut>快捷方式
- <Description>对代码片段的描述
- <SnippetTypes>可以包含多个<SnippetType>,但其取值只有三种:Expansion、SurroundsWith、Refactoring。
Expansion允许代码插入在光标处;
SurroundsWith允许代码围绕在选中代码两边;
Refactoring指定了C#重构过程中所使用的Snippet,在自定义Snippet中不能使用。如果该值不做设置,则Snippet可以放在任何地方。
<Snippet>节点是实现代码管理的地方,其包含四个子节点<Code><Declarations><Imports><References>
1.<Code>
包含<![CDATA[]]>中,放置模版代码,此节点设置Language(C# VB XML),Kind(类型:如方法体,方法声明),Delimiter(分隔符,默认值是$)
2.<Declarations>
包含多个<Literal>和<Object>节点,<Literal>用于指定文本值<Object>用于声明模版对象。笔者自理解为一个函数。以便code调用.
3.<Imports>
引入命名空间,只支持vb . - -#.
4.<References>
添加程序集引用,只支持vb . - -#.
参考:Visual Studio 的代码片段(Code Snippet)功能
扩展:Silverlight Code Snippets for DependencyProperties and other Handy Stuff
网友评论