概念:
代码段是将预先定义好的可重用代码块快速插入到代码文件中,代码段提高了开发效率,增强了代码的可重用性;既节约了时间,又实现了不同开发人员间代码的共享。同时也可保证同一项目中代码风格的统一。
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找到自定义代码段,自动生成如下代码