所谓代码段,就是一些格式比较固定代码,除了某些细节上个差别之外,大部分格式都是一样的。比如要为类定义一个属性,一般要定义一个私有变量,然后在添加get或者set方法或者二者同时具备。在我们的工作工免不了经常要做这些枯燥的工作,不过在Visual Studio 2005中微软为我们提供了一种便捷操作,以减少这种枯燥的工作带来的乏味。
比如我们想给增加一个属性,我们敲入pr的时候,会出现下图所示的智能提示:
在“prop”上敲击回车,然后键入tab键,会看到下面的情况:
假如我们想定义个string类型的属性,将蓝底白字部分的“int”改为“string”,就会看到如下效果:
然后再将私有变量“myVar”改成我们期望的名字,如“userName”,当移开光标时我们会发现属性中的“myVar”也会随之变成“userName”,最后将“MyProperty”改成“UserName”,这样就完成了一个属性的定义了,如下图:
在Visual Studio 2005已经预定义好很多代码段了,如读写属性prop、只读属性propg、try{}catch{}代码段try、try{}finally{}代码段tryf、for循环代码段for和foreach代码段forr等。
如果我们觉得预定义的代码段不能满足我们的要求时,我们可以自定义代码段,经过设置之后可以像预定义的代码段一样使用。要自定义代码段,可以如下操作:
打开[系统分区]: \Program Files\Microsoft Visual Studio 8\VC#\Snippets\2052\Visual C#文件夹,里面都是预定义的代码段。下面演示一下添加如何增加一个“try{}catch{}finally{}”的代码段。
首先将“try.snippet”拷贝到桌面,改名为“trycf.snippet”,然后用Visual Studio 2005打开,会看到如下代码:
1. <?xml version="1.0" encoding="utf-8"?>
2. <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
3. <CodeSnippet Format="1.0.0">
4. <Header>
5. <Title>try</Title>
6. <Shortcut>try</Shortcut>
7. <Description>try catch 的代码段</Description>
8. <Author>Microsoft Corporation</Author>
9. <SnippetTypes>
10. <SnippetType>Expansion</SnippetType>
11. <SnippetType>SurroundsWith</SnippetType>
12. </SnippetTypes>
13. </Header>
14. <Snippet>
15. <Declarations>
16. <Literal>
17. <ID>expression</ID>
18. <ToolTip>异常类型</ToolTip>
19. <Function>SimpleTypeName(global::System.Exception)</Function>
20. </Literal>
21. </Declarations>
22. <Code Language="csharp"><![CDATA[try
23. {
24. $selected$
25. }
26. catch ($expression$)
27. {
28. $end$
29. throw;
30. }]]>
31. </Code>
32. </Snippet>
33. </CodeSnippet>
34. </CodeSnippets>
我们将上面的代码改为如下形式:
1. <?xml version="1.0" encoding="utf-8"?>
2. <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
3. <CodeSnippet Format="1.0.0">
4. <Header>
5. <Title>try-cacth-finally</Title>
6. <Shortcut>trycf</Shortcut>
7. <Description>try-cacth-finally 块的代码段</Description>
8. <Author>周金桥</Author>
9. <SnippetTypes>
10. <SnippetType>Expansion</SnippetType>
11. <SnippetType>SurroundsWith</SnippetType>
12. </SnippetTypes>
13. </Header>
14. <Snippet>
15. <Code Language="csharp"><![CDATA[try
16. {
17. $end$;
18. }
19. catch(Exception exception)
20. {
21. }
22. finally
23. {
24. }
25. ]]>
26. </Code>
27. </Snippet>
28. </CodeSnippet>
29. </CodeSnippets>
这里对几个部分做一下简单介绍:
Shortcut:快捷键,选中代码键入enter键,然后键入Tab键就能使用这个代码段。
Description:代码段描述。
Author:代码段的作者。
Code Language="csharp":表示这是C#语言的代码段。
<![CDATA[]]>:代码段代码,用户使用快捷键时将会在光标处插入这些代码。
$end$:这是一个特殊参数,用于指定用户在代码段字段中填写完内容并按下 Enter 键后光标所在的位置。
$selected$:这是一个特殊参数,只对 SurroundsWith 类型的代码段有意义。
将上面改造后的“trycf.snippet”放到[系统分区]: \Program Files\Microsoft Visual Studio 8\VC#\Snippets\2052\Visual C#文件夹下,打开代码,敲入“trycf”会看到如下结果:
选择“trycf”后再按Tab键,得到如下代码