Visual Studio使用技巧
一、XML注释
1、编程时能获得智能提示。写好一个Add()方法后,在其上面打“///”三个斜干即可自动出来"摘要",“参数”和“返回值”等内容。如下图:
当定义好这些注释时,调用方法时就会有智能提示。如下图:
2、能够利用NDoc这样的工具将XML注释提取出来形成API文档
3、任务管理器
任务管理器是一个很有用的功能。假如我们开发的项目很大,在项目中有些代码没有完成,为了单元测试我们可能会使用一些代码来欺骗编译器以达到测试项目中的其它功能模块的作用,在测试完之后应该即使完成这些代码,为了将来能顺利找到这些代码块,我们可以做一下标记,便于将来查找。甚至我们在构建网站框架的时候可以做一些备注。如下图
结果:
想看到“//TODO 此处还有待完善”的信息,则可通过如下办法来实现:“视图”-“任务列表”在任务列表中选择“注释(comments)”则可看到。
二、配置外部工具
对于开发中我们可能会经常用到一些外部工具,比如ILDASM和ILASM等,我们可以配置成Visual Studio 的一个菜单项,需要的时候点击一下就可以打开,而不必每次都费时费力找到该文件所在的位置再双击打开。配置过程如下: 从工具栏上找到“工具(Tools)”-“外部工具(External Tools)”,如下图:
在“命令(Command)”里选择文件的路径。
三、代码段管理器
所谓代码段,就是一些格式比较固定代码,除了某些细节上个差别之外,大部分格式都是一样的。比如要为类定义一个属性,一般要定义一个私有变量,然后在添加get或者set方法或者二者同时具备。在我们的工作工免不了经常要做这些枯燥的工作,不过在Visual Studio中微软为我们提供了一种便捷操作,以减少这种枯燥的工作带来的乏味。 比如我们想给增加一个属性,我们敲入pr的时候,会出现下图所示的智能提示:
在“prop”上敲击回车,然后键入tab键,则可插入相应的代码段。
预定义的代码段位于:[系统分区]: \Program Files\Microsoft Visual Studio 10.0\VC#\Snippets\1033\Visual C#文件夹中
如果我们觉得预定义的代码段不能满足我们的要求时,我们可以自定义代码段,经过设置之后可以像预定义的代码段一样使用。要自定义代码段,可以如下操作:
打开一个预定义的代码段,例如我打开“for.snippet” 将会看到如下内容:
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>for</Title>
<Shortcut>for</Shortcut>
<Description>Code snippet for 'for' loop</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>index</ID>
<Default>i</Default>
<ToolTip>Index</ToolTip>
</Literal>
<Literal>
<ID>max</ID>
<Default>length</Default>
<ToolTip>Max length</ToolTip>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[for (int $index$ = 0; $index$ < $max$; $index$++)
{
$selected$ $end$
}]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
修改相应的参数则可,这里对几个部分做一下简单介绍:
Shortcut:快捷键,将来在代码中敲入这部分然后键入Tab键就能使用这个代码段。
Description:代码段描述。
Author:代码段的作者。
Code Language="csharp":表示这是C#语言的代码段。
<![CDATA[]]>:代码段代码,用户使用快捷键时将会在光标处插入这些代码。
$end$:这是一个特殊参数,用于指定用户在代码段字段中填写完内容并按下 Enter 键后光标所在的位置。
$selected$:这是一个特殊参数,只对 SurroundsWith 类型的代码段有意义。