注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

快乐小屋

 
 
 

日志

 
 

VS2010中CodeSnippet【代码段】应用与创建  

2013-06-10 11:23:12|  分类: Visual Studio |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
VS2010中CodeSnippet【代码段】应用与创建
Admin
2012年3月27日

内容概要:



  1. 什么是Code Snippet?它能为我们带来什么?

  2. 如何应用Code Snippet?

  3. 解析Code Snippet文件【.snippet】

  4. 编写一个实现属性更改通知的Code Snippet


什么是Code Snippet?它能为我们带来什么?


Code Snippet是预编写的代码片段,您可以随时应用 Visual Studio 将这些代码片段插入到您的应用法度中。这些代码段削减了键入反复代码或搜刮示例所用的时候,从而进步了工作效力。可以应用代码段 XML 架构创建本身的 Visual Basic、Visual C# 或 XML 代码段,并将它们添加到 Visual Studio 已包含的代码段中。【来自MSDN】


如何应用Code Snippet?



  1. 起首 ,新建一个把握台应用法度“CodeSnippetExample”

  2. 在Program类内部,Main办法外部敲入“prop”(property,“属性”的缩写)
    VS2010中CodeSnippet【代码段】应用与创建 - 快乐小屋 - 快乐小屋

  3. 在输入完“prop”后,按下“tab”键,你就会发明代码变成了这个样子:
    VS2010中CodeSnippet【代码段】应用与创建 - 快乐小屋 - 快乐小屋
    此中,浅蓝色靠山标识着我们正在批改的代码,可以经由过程按“tab”键来更改批改光标,若是这时按下“tab”键,代码就会变成下面的样子,如许就可以批改“MyProperty”了。
    VS2010中CodeSnippet【代码段】应用与创建 - 快乐小屋 - 快乐小屋

  4. 如今,我们将属性的类型批改为“String”,属性名改为“NewProperty”。
    VS2010中CodeSnippet【代码段】应用与创建 - 快乐小屋 - 快乐小屋

  5. 然后,键入回车键,退出代码段模式,如许,一个简写的属性就完成了。
    VS2010中CodeSnippet【代码段】应用与创建 - 快乐小屋 - 快乐小屋


这个只是一个简单的例子,同样的,你还可以应用propfull来实现具有字段的属性,比如下面的:
VS2010中CodeSnippet【代码段】应用与创建 - 快乐小屋 - 快乐小屋


到如今,可以很明显的看出,若是我们能很好的哄骗CodeSnippet的话,编写代码的速度将会有很大的提拔,比如,我会应用CodeSnippet来帮我编写通知属性,从而少去了多量手工代码的编写:


VS2010中CodeSnippet【代码段】应用与创建 - 快乐小屋 - 快乐小屋


在VS中内置了很多现成的CodeSnippet模板,可以经由过程VS-对象-代码段经管器来查看这些CodeSnippet。


解析Code Snippet文件【.snippet】


在代码段经管器中,把“说话”选项调剂为“Visual C#”,展开下面的Visual C#节点,就会看到下面的器材:
VS2010中CodeSnippet【代码段】应用与创建 - 快乐小屋 - 快乐小屋


下面,把“地位”下面的地址复制到“资料经管器”的地址栏,按回车,并且找到“prop.snippet”,双击它,默认会被VS打开,下面给出代码:


 <CodeSnippet Format="1.0.0">
  <Header>
   <Title>prop</Title>
   <Shortcut>prop</Shortcut>
   <Description>主动实现的属性的代码段
说话版本: C# 3.0 或更高版本</Description>
   <Author>Microsoft Corporation</Author>
   <SnippetTypes>
    <SnippetType>Expansion</SnippetType>
   </SnippetTypes>
  </Header>
  <Snippet>
   <Declarations>
    <Literal>
     <ID>type</ID>
     <ToolTip>属性类型</ToolTip>
     <Default>int</Default>
    </Literal>
    <Literal>
     <ID>property</ID>
     <ToolTip>属性名</ToolTip>
     <Default>MyProperty</Default>
    </Literal>
   </Declarations>
   <Code Language="csharp"><![CDATA[public ¥type¥ ¥property¥ { get; set; }¥end¥]]>
   </Code>
  </Snippet>
 </CodeSnippet>
</CodeSnippets>


很明显的,这是一个XML格局的文件,其根节点CodeSnippets下有一个CodeSnippet节点,代表一个CodeSnippet代码段。在CodeSnippet节点下面,有两个节点,Header和Snippet。


先解析Header。在Header下有下面几个标签:Title,Shortcut,Description,Author,SnippetTypes。前4个标签都很好懂得,分别是:题目,快捷号令,描述,作者。难懂得的是最后一个:SnippetTypes。


SnippetTypes,指定 Visual Studio 如何将代码段插入到代码中。SnippetTypes 元素中可能有零个或多个 SnippetType 元素。 <?XML:NAMESPACE PREFIX = [default] http://msdn2.microsoft.com/mtps NS = "http://msdn2.microsoft.com/mtps" /?> 若是 SnippetTypes 元素不存在,则代码段可以插入到代码中的任何地位。 其子节点只能为SnippetType,且SnippetType只能有两种值:SurroundsWith(容许将此代码段放置在一段选定的代码四周)、Expansion(容许将代码段插入到光标处。 )。这个不是很懂得。。。


下面,开端解析Snippet。在Snippet下面有两个标签Declarations(声明),Code。


Declarations:指定构成代码段可编辑项目组的文本和对象。


在 Declarations标签内部的Literal定义代码段的可编辑文本。Literal元素用于标识完全包含在代码段中的代码片段调换,不过这些代码 片段在插入到代码中后,可能须要进行自定义。 例如,字符串、数值和一些变量名都回声明为文本。(这个是MSDN中的申明,说白了就是定义我们在应用CodeSnippet时可以编辑的几个项目组,想 象成模板调换符也可以)


在Literal标签下,有三个标签,ID(必选的,用于模板调换时的标识符),ToolTip(可选的,提示文本),Default(必选的,指定插入代码段时文本的默认值。也就是模板调换符的默认值)。


停止了”定义项目组“,我们就要组织模板了。开端解析Code标签。


Code标签中的内容很简单,应用XML属性标识了应用的说话是csharp,其内部的数据标签,就是一个代码模板,这里便用上了上方定义的Declarations,用法很简单,在ID前后加¥符号就可以。


【PS】解析的不好,大师见谅。。。


编写一个实现属性更改通知的Code Snippet


在WPF法度中,有很多法度员乐于应用MVVM模式,于是,在写ViewMode时,编写具体有通知功能的属性就成了这项目组法度员必须做的工作,他们写出的代码可能就是如许:


    public class ViewModel : NotificationObject
    {
        private String userName;
        public String UserName
        {
            get { return userName; }
            set { userName = value; this.RaisePropertyChanged("UserName"); }
        }
    }


细心调查,发明这段代码中声明UserName属性的代码,其代码和应用propfull生成的代码很类似,只不过是在set接见器中多了一句this.RaisePropertyChanged("UserName"); 罢了。如今,开端让代码简化起来。。。


起首,找到propfull的CodeSnippet文件,复制到桌面。:C:\Program Files\Microsoft Visual Studio 10.0\VC#\Snippets\2052\Visual C#\propfull.snippet


批改Title,Shortcut,Description。。。。propNotification,propno,具有通知功能的属性。


接着,在Code标签中找到set接见器的代码,在其原有语句的分号后面加上这句话:“this.RaisePropertyChanged("¥property¥");”。


如 许,一个实现通知同能属性的CodeSnippet就写好了。然后把这个文件保存,重定名为propn.snippet 复制到C:\Program Files\Microsoft Visual Studio 10.0\VC#\Snippets\2052\Visual C#\目次,重启VS,尝尝看,是不是成功了?

  评论这张
 
阅读(400)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018