用VS2005为自定义代码段而制作代码段来定义代码段

 

1 创建Code Snippets     

        我们可以利用VS2005为自定义代码段而制作的代码段,来创建代码段。在VS2005中,新建一个XML文件,然后在XML文件中使用组合快捷方式键CTRL+K+X,选择Snippet代码段,然后按下Tab键,你会发现Code Snippets为创建代码段也写了代码段。

        默认的为创建代码段而实现的代码段是这样形式的,实际上是一个for XML的代码段,<Code Language="XML"> 。默认是以下形式。我们只需在改文件上修改,使之成为我们需要的代码段。然后将该文件保存为.Snippet文件格式。并将该代码段导入VS2005中,即可使用。
  
<? xml version="1.0" encoding="utf-8"  ?>
< 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 >
   

2 snippet文件的主要元素

2.1 Title 、Shortcut    

         < Title > MyProperty </ Title >
        
< Author > young </ Author >
        
< Shortcut > property </ Shortcut >     
        
< Description > 属性的代码段 </ Description >

 

        Title为定义在代码段上显示的名称。Shortcut为该代码段的快捷方式(快捷方式允许重复,最好不要重复)。Description,选中该代码段后显示的注释(帮助使用代码段)。

2.2 SnippetType

定义插入代码段,此文本值必须为以下值之一:

     SurroundsWith:允许将此代码段放置在一段选定的代码周围。

    Expansion:允许将代码段插入到光标处。

    Refactoring:指定在 Visual C# 重构过程中使用此代码段。不能在自定义代码段中使用 Refactoring。

可以同时支持两种方式:

< SnippetTypes >

< SnippetType > SurroundsWith </ SnippetType >

< SnippetType > Expansion </ SnippetType >

</ SnippetTypes >  

 

Expansion 类型确定在调用“插入代码段”命令时是否显示代码段。

SurroundsWith 类型确定在调用“外侧代码”命令时是否显示代码段。在定义外侧代码时,同时必须在Code元素中有预定义变量$selected$,表示其选择的文本。在运行时,代码段将包围选择的文本。 

2.3 Literal

Literal 元素用于标识可以在插入文件之后自定义的替换文本。例如,文本字符串、数值和某些变量名都可以声明为 Literal 元素。可以在 XML 代码段中定义任意数目的 Literal 元素,并且可以在代码段中多次引用。 

定义了一个Literal,其ID为type,在Code的XML中使用$type$,在使用代码段的时候,就可以编辑该值。ToolTip为Literal的注释,表明变量功能。Default里面为该变量的初始值。 

2.4 Code

Code 元素定义要在调用Code Snippets时插入的代码。XML 代码段文本必须包含在 <![CDATA[...]]> 节中。属性Language支持4种:CShap、VB、XML、VJSharp。

 

Code 元素包括三种变量:

  • 用户定义变量

在Literal 元素中创建。请参加Literal元素。

  •  $selected$ 预定义变量

该变量表示在调用代码段之前在“XML 编辑器”中选择的文本。设置此变量可以确定所选文本在包围它的代码段中出现的位置。

  •  $end$ 预定义变量

用户按 ENTER 键完成代码段字段的编辑后,此变量将确定移动插入符号 (^) 的目标位置。

3 结束语及资源

代码段有一点不如宏,现在只是支持CShap、VB、XML还有所谓的VJSharp,不能在任意文件类型上使用。不过对于对VB不熟悉的开发人员来说无疑CSM带来更多的便利。

在VS2005中VB自带的许多这些代码段,而CSharp则比较少,我们可以在网络上找到不少已存在的资源。 

http://msdn.microsoft.com/vstudio/downloads/codesnippets/ 官方网站,上面有许多CodeSnippet的例子供下载。

http://codebetter.com/blogs/scott.bellware/archive/2006/02/28/139446.aspx

提供NUnit测试中需要用到的代码模版。

http://www.gotcodesnippets.com/

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

一个CodeSnippet生成工具。

http://www.dotnetfun.com/CodeSnippets.aspx

有些连接已经失效了,微软不提供下载了,转移到其它网站上,请各位自己Google之!

你可能感兴趣的:(自定义)