首页 > 代码库 > 开发小技巧2——代码段

开发小技巧2——代码段

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