概念:

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

      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. KVO详解

    NSKeyValueObserving非正式协议定义了一种机制,它允许对象去监听其它对象的某个属性的修改. 我们可以监听一个对象的属性,包括简单属性,一对一的关系,和一对多的关系.一对多关系的监听者会 ...

  2. Jquery与DOM对象

    在第一次学习jquery中,常常会不能分辨DOM对象和Jquery对象,下面我们就简诉一下它们之间的关系和区别 1.DOM对象(Document Object Model) 文档对象模型,每一份DOM ...

  3. 超长英文(代码)自动换行的样式(CSS)

    如何想让一连串文字在显示可以自动换行,而不会把在代码中使用的容器撑开,则在文章的CSS样式处加上以下代码即可: table-layout: fixed; word-wrap:break-word;或者 ...

  4. 老生常谈的Javascript作用域问题

    在前端学习中,作用域这个问题一直被广泛提起,什么是作用域,什么又是作用域链?在Javascript中,怎么去理解这些概念都是学好这门语言的关键,所以在学习前端开发的过程中,我需要也很有必要去学习和总结 ...

  5. js获取当前页面的网址域名地址

    1.获取当前完整网址thisURL = document.URL;thisHREF = document.location.href;thisSLoc = self.location.href;thi ...

  6. Android应用中使用Popupmenu

    最终效果: 页面布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...

  7. with 与 debugger

    with在严格模式下是禁止使用的,而debugger是在调试模式下才有效果的,目测作者自己在用的脚本压缩工具在有dubugger语句的情况下会影响压缩结果,导致失败. with(varible)实际上 ...

  8. SpringMVC中用@ParamVariable传递的参数包含斜杠(/)时,匹配不了报404错误的解决方案

    今天做网站[标签]筛选功能时,出现了这么个奇葩的问题. 我是直接通过<a>标签中href来跳转的,url中包含汉字 <a href="/tags/标签A"> ...

  9. ajax请求或者页面需要缓存,代码如下

    缓存页面代码 1 private void setClientCache(HttpServletResponse response, int maxAgeSec) 2 { 3 long maxAgeM ...

  10. C++中的数组和指针

    #include <iostream> #include <set> using namespace std; int main() { ] = {,,,,,}; ]; p = ...