概念:

  代码段是将预先定义好的可重用代码块快速插入到代码文件中,代码段提高了开发效率,增强了代码的可重用性;既节约了时间,又实现了不同开发人员间代码的共享。同时也可保证同一项目中代码风格的统一。

      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找到自定义代码段,自动生成如下代码

VS快捷编码方式的更多相关文章

  1. Redis与KV存储(RocksDB)融合之编码方式

    Redis与KV存储(RocksDB)融合之编码方式 简介 Redis 是目前 NoSQL 领域的当红炸子鸡,它象一把瑞士军刀,小巧.锋利.实用,特别适合解决一些使用传统关系数据库难以解决的问题.Re ...

  2. Java不同编码方式,中英文字符所占字节数

    测试代码 public class Test { public static void main(String[] args){ String[] charsetNames={ "UTF-8 ...

  3. form表单编码方式设置为multipart/form-data,后台参数出现乱码情况

    一般在上传图片过程中,form中的编码方式一般采用multipart/form-data方式编码,但是后台这取参数时,可能会出现乱码情况:这里后台要采用转换编码方式: 页面: 后台:获取表单元素时,

  4. servlet获取表单数据的方式和编码方式

    .在servlet中获取表单的数据的几种方式  1>request.getParameter(“name”)://获取指定名称的值,返回值类型是一个字符串  2>request.getPa ...

  5. python 改变字符串的编码方式

    字符串str的编码方式为utf-8,转化为gbk,分为两步 1. str=str.decode('utf-8') 2. str=str.encode('gbk')

  6. [No000040]取得一个文本文件的编码方式

    using System; using System.IO; using System.Text; /// <summary> /// 用于取得一个文本文件的编码方式(Encoding). ...

  7. Java文件读写操作指定编码方式防乱码

    读文件:BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,Re ...

  8. zzy:java采用的是16位的Unicode字符集作为编码方式------理解

    java语言使用16位的Unicode字符集作为编码方式,是疯狂Java中的原话. 1,编码方式只是针对字符类型的(不包括字符串类,数值类型int等,这些只是在解释[执行]的时候放到Jvm的不同内存块 ...

  9. Oracle EBS在编码方式为AL32UTF8时的注意事项

    现如今的EBS系统中,为了推进国际化的进程,以及系统向全球化的扩展,在Oracle数据库的编码方式上渐渐从支持中国本土简体中文的ZHS16GBK转向了更趋于国际化的AL32UTF8编码方式.但随之而来 ...

随机推荐

  1. editplus批量删除html代码空行

    在editplus替换菜单功能里,“查找”功能里输入: ^[ \t]*\n 替换为空,然后“全部替换”即可. 替换时,要选择“正则表达式”选项, 详细:http://www.dedecms8.com/ ...

  2. pyqt lineedit右边显示按钮效果

    from PyQt4 import QtGui, QtCore class ButtonLineEdit(QtGui.QLineEdit): buttonClicked = QtCore.pyqtSi ...

  3. (转)iPhone 判断UITableView 滚动到底部

    UITableView is a subclass of UIScrollView, and UITableViewDelegate conforms to UIScrollViewDelegate. ...

  4. 【hoj】1604 cable master

    简单,二分法,可是在oj上交的时候会有精度的限制,所以仅仅能把数扩得大一点,并且在扩的时候为防止尾数会自己主动生成一些非零数,所以还是自己吧扩到的位置设置为0,还有输出时由于%.2lf会自己有4设5入 ...

  5. Java MongoDB 资料集合

    一.Mongodb介绍及对比 1.NoSQL介绍及MongoDB入门 http://renial.iteye.com/blog/684829 2.mongoDB 介绍(特点.优点.原理) http:/ ...

  6. [RxJS] Resubscribing to a Stream with Repeat

    When you complete a stream, there’s no way to restart it, you must resubscribe. This lesson shows ho ...

  7. [MongoDB] Remove, update, create document

    Remove: remove the wand with the name of "Doom Bringer" from our wandscollection. db.wands ...

  8. 利用“参数赋值”防范SQL注入漏洞攻击

    <<年轻,无权享受>————送给每一个看到此文的同僚们 在这无精打采的炎夏 我躺在阳台上房东的旧沙发 回想几个月来遇到的问题 我不禁内心开始慌张喘着粗气 还有大把时间去打拼 没有到只 ...

  9. rsync数据同步配置

    环境配置 操作系统:centos6.4_64bit A服务器IP:192.168.6.128 B服务器IP:192.168.6.129 以A服务器为基准,将A服务器文件同步到B服务器. 步骤如下: 开 ...

  10. ul li a active jquery.cookie.js

    div class="righter nav-navicon" id="admin-nav"> <div class="mainer&qu ...