VS自定义代码块Code Snippet
一 、简述
我们在开发当中,避免不了一些重复的开发工作,在你漫长的开发以及学习当中,你会发现有这么一部分代码是你时常会使用到的。我想这个工具也是针对这个原因出来的吧,它就是预先把你需要的这部分代码的主干部分给它提练出来,然后你只要修改局部的某些部分内容,从而完成你代码的编辑工作。这样的好处,就是当你使用一个快捷键的方式,就可以把你这部分常用的代码直接插入到你需要的代码文件当中。而不需要你由头到尾地重复一些额外的工作,缩短你的开发时间,提高你的工作效率。这就是今天要说到的Code Snippet
二 、Code Snippet介绍
一个 CodeSnippet 则主要包含 <Header> 和 <Snippet> 两部分。一个 <CodeSnippets> 元素可以包含多个不同的 <CodeSnippet> 。其中 <Header> 部分主要是对这个 Snippet 的一个声明,包括 Snippet 的名称、描述、作者及 Snippet 的类型。
1.Header
<Title>表示此代码段标题
<Shortcut>设置快捷键
<Description>对代码段的描述
<SnippetTypes>可以包含多个<SnippetType>其取值有三种Expansion、SurroundsWith、Refactoring 。Expansion允许代码插入在光标处;SurroundsWith允许代码围绕在选中代码两边;Refactoring指定了C#重构过程中所使用的Snippet,在自定义Snippet中不能使用。如果该值不做设置,则Snippet可以放在任何地方。
<Snippet>节点是实现代码管理的地方,其包含四个子节点<Code><Declarations><Imports><References>
2.Snippet
<Code>
包含<![CDATA[]]>中,放置模版代码,此节点设置Language(C# VB XML),Kind(类型:如方法体,方法声明),Delimiter(分隔符,默认值是$)
private $type$ $field$;
public $type$ $property$
{
get { return $field$;}
set { $field$ = value;}
}
为定义的模板代码,type,field,property为定义的变量,变量在Declarations的Literal中声明。
$end$为当按enter键后光标的默认位置
<Declarations>
包含多个<Literal>和<Object>节点,<Literal>用于设定变量值<Object>用于声明模版对象。
这里只说明Literal
ID 默认属性名称
ToolTip 属性说明
Default 默认类型
<Imports>
引入命名空间,只支持vb . - -#.
<References>
添加程序集引用,只支持vb . - -#.
三 、Code Snippet简单使用
首先可以在 工具 >> 代码片段管理器 中找到系统定义的snippet代码片段。如for,if等,可以看到对应语言和存储位置。
下面以propfull自动属性为例讲解:
创建文件propfull.snippet,实质为xml文件
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>propfull</Title>
<Shortcut>propfull</Shortcut>
<Description>属性和支持字段的代码片段</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>type</ID>
<ToolTip>属性类型</ToolTip>
<Default>int</Default>
</Literal>
<Literal>
<ID>property</ID>
<ToolTip>属性名</ToolTip>
<Default>MyProperty</Default>
</Literal>
<Literal>
<ID>field</ID>
<ToolTip>支持此属性的变量</ToolTip>
<Default>myVar</Default>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[private $type$ $field$; public $type$ $property$
{
get { return $field$;}
set { $field$ = value;}
}
$end$]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
定义好放在C#对于路径下,然后就可以在VS中敲入propfull,就会实现以下输出
private int myVar; public int MyProperty
{
get { return myVar; }
set { myVar = value; }
}
最新文章
- CADisplayLink 及定时器的使用
- SQL Server 2012中Task是如何调度的?
- JSP+JavaBean+Servlet实现各类列表分页功能
- OC5_类别
- .NET中应用Ueditor(富文本编辑)的配置和使用
- Python学习笔记(十五):类基础
- fedora 安装pylab 并简单绘制三角函数
- MYSQL-用户权限的验证过程(转)
- Mybatis 示例之 Association - 偶尔记一下 - 博客频道 - CSDN.NET
- NemaStudio船舶模拟软件下载及破解
- Windows控制台下绘制简单图形
- CWMP开源代码研究番外篇——博通方案
- Linux系统启动过程(通俗易懂)
- Flask 应用上下文
- web.py框架之i18n支持
- Trove系列(三)—Trove的功能管理功能介绍
- Hive笔记之collect_list/collect_set(列转行)
- linux之JDK安装
- Hibernate与autoCommit
- Module 的加载实现