概念:
代码段是将预先定义好的可重用代码块快速插入到代码文件中,代码段提高了开发效率,增强了代码的可重用性;既节约了时间,又实现了不同开发人员间代码的共享。同时也可保证同一项目中代码风格的统一。
Visual Studio中已经定义了部分代码段,例如:在visual studio中输入for按tab健即可自动生成for循环语句,输入tryf按tab则自动生成try catch语句。
在Visual Studio 2012中创建自定义代码段:
选中项目文件,右击添加-新建项-选择XML文件,这个时候给XML文件起一个名字,同时把后面的.xml后缀名修改成. Snippet。如图:
默认生成效果:
<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<Header>
<Title>标题</Title>
<Author>作者</Author>
<Shortcut>快捷方式</Shortcut>
<Description>说明</Description>
<SnippetTypes>
<SnippetType>SurroundsWith</SnippetType>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>名称</ID>
<Default>值</Default>
</Literal>
</Declarations>
<Code Language="XML">
<![CDATA[<test>
<name>$名称$</name>
$selected$ $end$</test>]]>
</Code>
</Snippet>
</CodeSnippet>
节点说明如下:
<Header>子元素
|
定义
|
<Title>
|
显示标题
|
<Shortcut>
|
为代码段定义的快捷方式。 在IDE中,输入快捷方式名称然后通过tab键选择下面的代码段,如果你输入部分快捷方式 名称(例如“cla”而不是“class”),你将需要按两次tab键;一次完成名称扩展,另外 一次插入代码段 |
<Description>
|
关于代码段的描述信息
|
<SnippetType>
|
指定代码段所属的类别(扩展,围绕,或重构)。注意,一个代码段可能属于多个组。 微软IDE根据这个值决定使用哪个显示代码段的上下文菜单 |
Literal节点包括如下子节点 :
<Literal>的子节点
|
定义节点
|
<ID>
|
变量名称,生成后用于统一替换代码段中的内容
|
<ToolTip>
|
鼠标移动到上面的提示信息
|
<Default>
|
变量的默认值
|
自定义WPF中的依赖属性代码段:
<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<Header>
<Title>MySnippet</Title>
<Author>infly</Author>
<Shortcut>dprop</Shortcut>
<Description>自动生成依赖属性</Description>
<SnippetTypes>
<SnippetType>SurroundsWith</SnippetType>
<SnippetType>Expansion</SnippetType>
<SnippetType>Refactoring</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>PropertyName</ID>
<Default>propertyName</Default>
<ToolTip>Replace with property name.</ToolTip>
</Literal>
<Literal>
<ID>PropertyType</ID>
<Default>propertyType</Default>
<ToolTip>Replace with property type.</ToolTip>
</Literal>
<Literal>
<ID>ParentType</ID>
<Default>parentType</Default>
<ToolTip>Replace with property's parent type.</ToolTip>
</Literal>
</Declarations>
<Code Language="CSharp">
<![CDATA[
#region $PropertyName$
public static readonly DependencyProperty $PropertyName$Property =
DependencyProperty.Register("$PropertyName$", typeof ($PropertyType$), typeof ($ParentType$), new PropertyMetadata(
(sender, e) =>
{ }));
public $PropertyType$ $PropertyName$
{
get { return ($PropertyType$) GetValue($PropertyName$Property); }
set { SetValue($PropertyName$Property, value); }
}
#endregion
]]>
</Code>
</Snippet>
</CodeSnippet>
将代码段添加到Visual Studio中
两种方式:
最简单的直接把文件复制到<drive>:Program Files (x86)\Microsoft Visual Studio 11.0\VC#\Snippets\2052\Visual C#下;
第二种:点击工具=>代码段管理器=>导入=>找到代码段文件点击打开,勾选Visual C#选项点击完成。
添加完成之后输入dprop按tab键或按Ctrl+K,Ctrl+X找到自定义代码段,自动生成如下代码