yizhu2000

--书到读透处,酒于微醺时

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  60 随笔 :: 21 文章 :: 408 评论 :: 24 Trackbacks

通过一个简单例子,介绍两种添加CodeSnippet的方法,手动添加用工具添加,最后再介绍一些常用的codesnippet

不少使用VisualStudio2005的coder,都对vs2005的codesnippet功能很熟悉,运用codesnippet可以减少许多烦琐的重复操作,提高编程效率,.net本身提供了丰富code snippet,但是,如果这些codesnippet不满足你的要求,嘿嘿,就自己创建一个吧

比如:假如公司的代码规范规定我们每个类的开头,都必须写上这样一段

///**************************
/// 创建者:yizhu
/// 创建日期:2007-7-4
///*************************

当然,不同用户创建的类要写不同的名字,所以创建者其实是个可编辑的变量,创建日期也一样,我们来把这个小注释块转化成一个codesnippet

方法一:手动添加

打开记事本,输入以下内容

 

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  
<CodeSnippet Format="1.0.0">
    
<Header>
      
<Title>创建注释</Title>
      
<Shortcut>mycomm</Shortcut>
      
<Description>创建俺用的代码注释</Description>
      
<Author>yizhu2000</Author>
      
<SnippetTypes>
        
<SnippetType>Expansion</SnippetType>
      
</SnippetTypes>
    
</Header>
    
<Snippet>
      
<Declarations>
        
<Literal Editable="true">
          
<ID>UserName</ID>
          
<ToolTip>UserName</ToolTip>
          
<Default>yizhu</Default>
          
<Function>
          
</Function>
        
</Literal>
        
<Literal Editable="true">
          
<ID>CreateDate</ID>
          
<ToolTip>CreateDate</ToolTip>
          
<Default>
          
</Default>
          
<Function></Function>
        
</Literal>
      
</Declarations>
      
<Code Language="csharp"><![CDATA[///**************************
/// 创建者:$UserName$
/// 创建日期:$CreateDate$
///**************************
]]></Code>
    
</Snippet>
  
</CodeSnippet>
</CodeSnippets>

 

这就是用来创建你的code snippet的xml文件

文件解释

CodeSinppet节点下面,有两重要的节点,Header,Snippet

  • Header标签下面主要放这一些描述信息,以及对快捷方式的定义,下面是具体的解释

<Title>:给你的codesnippet起个名字

<Description>:描述

<Author>:创建者

<Shortcut>:快捷键,就好像创建属性的prop,创建构造函数的ctor,这个比较重要了,要为你的codesnippet想一个好名字,记得不要和系统自己的codesnippet重名

<SnippetType>:可以选择两个值,Expansion和SurroundsWith

  • Snippet标签下面是变量的定义和具体code的定义我们定义了两个变量<Declaration>下面就是变量的申明我们声明了两个<Literal>型的变量,分别代表创建者和时间

<ID>:变量标识,就是变量名称,在下面我们要通过这个标识来引用这个变量

<ToolTip>:当鼠标指到这个变量的编辑区域上时,显示的提示信息

<Default>:默认值

<Function>:函数,我们可以用系统提供的一些方法来引用当前类名,或者根据参数创建switch代码的的case语句等等

<Code>:就是具体的code的定义,可以看到,这里用$ID$的方式来引用变量

保存并导入Visual Studio

把上面这个文件保存为一个后缀为.snippet的文件,然后在visual studio中导入它,具体做法是

在visual studio中通过Ctrl+K Ctrl+B打开Code Snippet Manager,为你的codesnippet选择应用的语言,这种注释只能在C#里用,所以是C#

codesnippetmanager

Import...,选择你刚才保存的snippet文件,并把它导入到My Code Snippets分类下面

导入成功候你就可以看见在My Code Snippets下面有了刚才创建的code snippet

这个时候就大工告成了

看看效果

随便打开一个代码文件,键入mycomm(xml文件里面定义的快捷键),然后点击Tab键,^_^

result

代码产生了,大家现在可以用tab键在编辑区域间游走,并且编辑他们

方法二:运用工具

觉得手动添加麻烦的话可以去下个codesnippet编辑工具,叫Snippy

下载地址1

http://download.csdn.net/source/205118

官方下载地址

http://www.gotdotnet.com/codegallery/codegallery.aspx?id=b0813ae7-466a-43c2-b2ad-f87e4ee6bc39

编辑界面如图

snippy 

创建之后保存和导入的过程同上

一些常用的codeSnippet

注意:很多人都问我怎么输入了快捷键没有反应,记住键入快捷方式后按Tab键,才能产生代码,

先介绍几个有用的CodeSnippet

常见

ctor:创建一个构造函数

class:创建类

interface:创建接口

using:using(resource){}

if:创建if(){}

try:创建try catch

else:创建else{}

do:do..while循环

prop:创建属性

propg:创建只有get的属性

switch:创建一个switch段,如果switch的条件是个枚举,那么他可以帮你产生所有的枚举值的case

不常见,也很有用

cw:创建Console.WrileLine

mbox:MessageBox.Show()

svm:void Main函数

#region:创建#region #endregion

#if:创建#if #endif

equals:创建Equals()方法的重载,并同时一个GetHashCode的方法

exception:创建一个从Exception继承的自定义的Exception

posted on 2007-07-05 16:11 二毛五 阅读(2743) 评论(16)  编辑 收藏 所属分类: VisualStudio

评论

#1楼  2007-07-05 16:18 冬冬      
图片有问题……
  回复  引用  查看    

#2楼  2007-07-05 16:19 Matrix      
是呀。看不到图。。
  回复  引用  查看    

#3楼  2007-07-05 16:35 yizhu [未注册用户]
修改过了
  回复  引用    

#4楼  2007-07-05 20:35 Michael.Yang      
移到其他区吧 -_-
  回复  引用  查看    

#5楼  2007-07-05 20:58 Jeffrey Zhao      
谢谢,希望有朋友能过多分享一些VS的使用,我们太糟塌VS了……
  回复  引用  查看    

#6楼  2007-07-05 22:47 lexus [未注册用户]
好像下载的地址不对?
  回复  引用    

#7楼  2007-07-06 00:08 mextb1860 [未注册用户]
为什么我按了tab键没有用啊
  回复  引用    

#8楼  2007-07-06 00:47 五年      
好东东
感谢
  回复  引用  查看    

#9楼  2007-07-06 01:03 superstar      
用不了,怎么回事?
  回复  引用  查看    

#10楼  2007-07-06 09:08 czy [未注册用户]
楼上的用不了一般是你用文本文件编辑的时候有汉字,vs导入的时候汉字出现乱码造成的,建议用vs编辑保存在导入!
  回复  引用    

#11楼  2007-07-06 10:58 冬冬      
@mextb1860
按两下...
  回复  引用  查看    

#12楼  2007-07-06 13:56 Anders06      
忒费事了,用CodeKeepVS2005Addin2.0
  回复  引用  查看    

#13楼  2007-07-07 02:15 lexus [未注册用户]
请问具体该如何调用CodeSnippet,能举个列表吗?我在vs ide里找不到snippet这个面板,以前还想见过,还请指点
  回复  引用    

#14楼 [楼主] 2007-07-07 12:03 二毛五      
在visual studio中通过Ctrl+K Ctrl+B打开Code Snippet Manager的面板
  回复  引用  查看    

#15楼  2007-08-09 00:25 dikongpulu      
代码块这个功能确实不错
  回复  引用  查看    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-09-05 13:08 编辑过
 
另存  打印