在visual studio 2005的时候就有了代码片段的功能,相信很多人都知道怎么使用这个功能,写这篇主要是和还不知道这个功能的朋友分享一下。
代码片段这个功能大家天天都在用,它就是相当于代码的一个快捷方式,提高编码的效率。
例如,我们在写for循环的时候直接写完for之后按两下tab键,代码就能自动补全。当然这个功能不仅仅限于C#代码,还有js,vb,xml等等。大家可以在visual studio的“工具”菜单中的“代码管理器”中查看(快捷键Ctrl+K,Ctrl+B)。
还有一点比较好的是,我们可以自己定义代码片段。
以下是C#中常用到的代码快捷方式:
名称(或快捷方式) | 描述 | 插入代码段的有效位置 |
---|---|---|
#if | 任意位置。 | |
#region | 创建 #region 指令和 #endregion 指令。 | 任意位置。 |
~ | 为包含类创建析构函数。 | 在类中。 |
属性 | 为从 Attribute 派生的类创建声明。 | 在命名空间(包括全局命名空间)、类或结构中。 |
Checked | 创建 checked 块。 | 在方法、索引器、属性访问器或事件访问器中。 |
class | 创建类声明。 | 在命名空间(包括全局命名空间)、类或结构中。 |
ctor | 为包含类创建构造函数。 | 在类中。 |
cw | 创建对 WriteLine 的调用。 | 在方法、索引器、属性访问器或事件访问器中。 |
do | 创建 dowhile 循环。 | 在方法、索引器、属性访问器或事件访问器中。 |
else | 创建 else 块。 | 在方法、索引器、属性访问器或事件访问器中。 |
enum | 创建 enum 声明。 | 在命名空间(包括全局命名空间)、类或结构中。 |
equals | 在类或结构中。 | |
exception | 为某个从异常(默认情况下为 Exception)派生的类创建声明。 | 在命名空间(包括全局命名空间)、类或结构中。 |
for | 创建 for 循环。 | 在方法、索引器、属性访问器或事件访问器中。 |
foreach | 创建 foreach 循环。 | 在方法、索引器、属性访问器或事件访问器中。 |
forr | 创建一个 for 循环,在每次循环之后递减循环变量。 | 在方法、索引器、属性访问器或事件访问器中。 |
if | 创建 if 块。 | 在方法、索引器、属性访问器或事件访问器中。 |
Indexer — 索引器 | 创建索引器声明。 | 在类或结构中。 |
接口 | 创建 interface 声明。 | 在命名空间(包括全局命名空间)、类或结构中。 |
invoke | 创建可安全调用事件的块。 | 在方法、索引器、属性访问器或事件访问器中。 |
迭代器 | 创建迭代器。 | 在类或结构中。 |
iterindex | 使用嵌套类创建“命名的”迭代器和索引器对。 | 在类或结构中。 |
lock | 创建 lock 块。 | 在方法、索引器、属性访问器或事件访问器中。 |
mbox | 创建对 MessageBox.Show 的调用。 您可能必须添加对 System.Windows.Forms.dll 的引用。 | 在方法、索引器、属性访问器或事件访问器中。 |
namespace | 创建 namespace 声明。 | 在命名空间(包括全局命名空间)中。 |
prop | 创建自动实现属性声明。 | 在类或结构中。 |
propfull | 创建具有 get 和 set 访问器的属性声明。 | 在类或结构中。 |
propg | 创建具有私有“set”访问器的只读自动实现的属性。 | 在类或结构中。 |
sim | 在类或结构中。 | |
struct | 创建 struct 声明。 | 在命名空间(包括全局命名空间)、类或结构中。 |
svm | 在类或结构中。 | |
switch | 创建 switch 块。 | 在方法、索引器、属性访问器或事件访问器中。 |
try | 创建 try-catch 块。 | 在方法、索引器、属性访问器或事件访问器中。 |
tryf | 创建 try-finally 块。 | 在方法、索引器、属性访问器或事件访问器中。 |
Unchecked | 创建 unchecked 块。 | 在方法、索引器、属性访问器或事件访问器中。 |
unsafe | 创建 unsafe 块。 | 在方法、索引器、属性访问器或事件访问器中。 |
使用 | 创建 using 指令。 | 在命名空间(包括全局命名空间)中。 |
while | 创建 while 循环。 | 在方法、索引器、属性访问器或事件访问器中。 |
那么如何创建自己的代码片段呢?
以下是代码段的模板,大家可以新建一个文件,然后把它拷贝进去。
1 <?xml version="1.0" encoding="utf-8"?> 2 <CodeSnippets 3 xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 4 <CodeSnippet Format="1.0.0"> 5 <Header> 6 <Title></Title> 7 </Header> 8 <Snippet> 9 <Code Language="">10 <![CDATA[]]>11 </Code>12 </Snippet>13 </CodeSnippet>14 </CodeSnippets>
最简单的方式是,大家在代码管理工具中查看自己所用语言的目录,然后复制里面的文件直接改就行。
从上图中,我们也大概知道了代码段文件中的元素标签代表的是什么。所以,我们可以根据自己使用的语言,然后直接复制一个visual studio的内置的文件,改写一下就行。例如下面是一个静态方法的创建的代码片段(直接用的是sim.sinippet文件)
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>ssf</Title> 6 <Shortcut>ssf</Shortcut> 7 <Description>string MyFunc() 的代码片段</Description> 8 <Author>流年、落了谁</Author> 9 <SnippetTypes>10 <SnippetType>Expansion</SnippetType>11 </SnippetTypes>12 </Header>13 <Snippet>14 <Code Language="csharp">15 <![CDATA[static string MyFunc()16 {17 $end$18 return null;19 }]]>20 </Code>21 </Snippet>22 </CodeSnippet>23 </CodeSnippets>
打开管理工具,直接就能看到我么刚才写的代码段,然后试试效果
如果你懒得把代码拷来拷去的话,你也可以使用一个简单的工具Snippet Editor 关于如何使用这个工具,大家点击进去查看就行。
链接无效的话,你可以把这个地址拷贝到你的浏览器中 http://snippeteditor.codeplex.com/
现在你可以去试试怎么创建你的代码片段了,是不是写代码唰唰的,搂不住了,^_^