我们可以利用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生成工具。
1077

被折叠的 条评论
为什么被折叠?



