在VS 2005中,新增加了许多新的特性和功能。其中在方便用户编程方面有了很大的改进,比如新增加了code snippets(代码片断助手)功能。所谓的code snippets,是用户可以在编程过程中,将经常要用到的一些常用代码或者值得收藏起来的代码保存起来,在要使用的时候就可以方便地调用出来。本文将介绍如何将vs 2005自带的code snippets加到已有的应用程序中去,以及如何建立自己的snipeets,如何使用开源的snippet editor。
如何使用code snippets。可以通过五种方式使用代码段:键盘快捷键,IntelliSense 自动完成,IntelliSense 完成单词列表,“编辑”菜单,上下文菜单。
l
通过键盘快捷键使用代码段
- 在 Visual Studio IDE 中打开要编辑的文件。
- 在“代码编辑器”中,将光标置于要插入代码段的位置。
- 键入 Ctrl+K、Ctrl+X。
- 从代码段插入器中选择代码段,然后按 Tab 或 Enter。
- 也可以键入代码段的名称,然后按 Tab 或 Enter。
l
通过
IntelliSense
自动完成使用代码段
- 在 Visual Studio IDE 中打开要编辑的文件。
- 在“代码编辑器”中,将光标置于要插入代码段的位置。
- 为要添加到代码中的代码段键入快捷方式。
- 键入两次 Tab 以调用代码段。
l
通过
IntelliSense
完成单词列表使用代码段
- 在 Visual Studio IDE 中打开要编辑的文件。
- 在“代码编辑器”中,将光标置于要插入代码段的位置。
- 首先为要添加到代码中的代码段键入快捷方式。如果已打开自动完成,则将显示 IntelliSense 完成单词列表。如果该列表未显示,则按 Ctrl+Space 激活它。
- 从完成单词列表中选择代码段。
- 键入两次 Tab 以调用代码段。
l
通过
“
编辑
”
菜单使用代码段
- 在 Visual Studio IDE 中打开要编辑的文件。
- 在“代码编辑器”中,将光标置于要插入代码段的位置。
- 从“编辑”菜单中选择“IntelliSense”,然后选择“插入代码段”命令。
- 从代码段插入器中选择代码段,然后按 Tab 或 Enter。
- 也可以键入代码段的名称,然后按 Tab 或 Enter。
l
通过上下文菜单使用代码段
- 在 Visual Studio IDE 中打开要编辑的文件。
- 在“代码编辑器”中,将光标置于要插入代码段的位置。
- 右击光标,然后从上下文菜单中选择“插入代码段”命令。
- 从代码段插入器中选择代码段,然后按 Tab 或 Enter。
- 也可以键入代码段的名称,然后按 Tab 或 Enter。
如何自定义
snippets
。首先研究下
snippets
的结构,以上文提到的属性
snippets
为例子,我们先在
snippets
管理器中,找到
prop
这个
snippets,
然后记下其所在的路径,然后再用编辑工具打开这个文件,可以看到如下的代码,注意是以
xml
格式组织的。
<
?xml version="1.0" encoding="utf-8" ?
>
<
CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"
>
< CodeSnippet Format="1.0.0" >
< Header >
< Title > prop < /Title >
< Shortcut > prop < /Shortcut >
< Description > Code snippet for property and backing field < /Description >
< Author > Microsoft Corporation < /Author >
< SnippetTypes >
< SnippetType > Expansion < /SnippetType >
< /SnippetTypes >
< /Header >
< Snippet >
< Declarations >
< Literal >
< ID > type < /ID >
< ToolTip > Property type < /ToolTip >
< Default > int < /Default >
< /Literal >
< Literal >
< ID > property < /ID >
< ToolTip > Property name < /ToolTip >
< Default > MyProperty < /Default >
< /Literal >
< Literal >
< ID > field < /ID >
< ToolTip > The variable backing this property < /ToolTip >
< Default > myVar < /Default >
< /Literal >
< /Declarations >
< Code Language="csharp" >< ![CDATA[private $type$ $field$;
public $type$ $property$
{
get { return $field$;}
set { $field$ = value;}
}
$end$]] >
< /Code >
< /Snippet >
< /CodeSnippet >
< /CodeSnippets >
< CodeSnippet Format="1.0.0" >
< Header >
< Title > prop < /Title >
< Shortcut > prop < /Shortcut >
< Description > Code snippet for property and backing field < /Description >
< Author > Microsoft Corporation < /Author >
< SnippetTypes >
< SnippetType > Expansion < /SnippetType >
< /SnippetTypes >
< /Header >
< Snippet >
< Declarations >
< Literal >
< ID > type < /ID >
< ToolTip > Property type < /ToolTip >
< Default > int < /Default >
< /Literal >
< Literal >
< ID > property < /ID >
< ToolTip > Property name < /ToolTip >
< Default > MyProperty < /Default >
< /Literal >
< Literal >
< ID > field < /ID >
< ToolTip > The variable backing this property < /ToolTip >
< Default > myVar < /Default >
< /Literal >
< /Declarations >
< Code Language="csharp" >< ![CDATA[private $type$ $field$;
public $type$ $property$
{
get { return $field$;}
set { $field$ = value;}
}
$end$]] >
< /Code >
< /Snippet >
< /CodeSnippet >
< /CodeSnippets >
在上面的代码中,其中的
header
部分简单描述了关于这个
snippets
的信息,如名称,快捷方式,作者,备注等。在<
snippets
>节点下,则逐个定义了在
snippets
中出现的属性,其中<
default
>指出了该属性默认的值。而在关键部分<
code
>,用<
![CDATA]
>的方式定义了
snippets
的基础架构,其中用
$
参数名的方式定义每个属性,十分简单。
如果要创建自己的
snippets
,是十分简单的,最简单的是使用比如记事本等编辑工具,新建一个后缀为
snippet
的
XML
文件,仿照上面的格式就可以设计了。当完成后,可以在
snippets
管理器中通过导入完成的
snippet
就可以增加一个新的
snippet
了。此外,还可以到
[url]http://www.gotdotnet.com/codegallery/codegallery.aspx?id=b0813ae7[/url]-466a-43c2-b2ad-f87e4ee6bc39
去下载一个
snippet
编辑器,可以方便地进行编辑
snippet
。
Msdn
网站也有很多
Code Snippet
库,可以到这个页面下载
[url]http://msdn.microsoft.com/vstudio/downloads/codesnippets/default.aspx[/url]
。还有一位
MVP J. Michael Palermo IV
维护的一个开源的网站
[url]http://www.gotcodesnippets.com/[/url] .利用这些资源和自己编写的Code Snippet,我们可以大大提高我们书写代码的效率。
本文转自 张善友 51CTO博客,原文链接:http://blog.51cto.com/shanyou/75030,如需转载请自行联系原作者