在visual studio 2005的時候就有了代碼片段的功能,相信很多人都知道怎麼使用這個功能,寫這篇主要是和還不知道這個功能的朋友分享一下。
代碼片段這個功能大家天天都在用,它就是相當於代碼的一個快捷方式,提高編碼的效率。
例如,我們在寫for循環的時候直接寫完for之後按兩下tab鍵,代碼就能自動補全。當然這個功能不僅僅限於C#代碼,還有js,vb,xml等等。大家可以在visual studio的“工具”菜單中的“代碼管理器”中查看(快捷鍵Ctrl+K,Ctrl+B)。
還有一點比較好的是,我們可以自己定義代碼片段。
名稱(或快捷方式)
描述
插入代碼段的有效位置
#if
創建 #if 指令和 #endif 指令。
任意位置。
#region
創建 #region 指令和 #endregion 指令。
任意位置。
~
為包含類創建析構函數。
在類中。
屬性
為從 Attribute 派生的類創建聲明。
在命名空間(包括全局命名空間)、類或結構中。
Checked
創建 checked 塊。
在方法、索引器、屬性訪問器或事件訪問器中。
class
創建類聲明。
在命名空間(包括全局命名空間)、類或結構中。
ctor
為包含類創建構造函數。
在類中。
cw
創建對 WriteLine 的調用。
在方法、索引器、屬性訪問器或事件訪問器中。
do
創建 dowhile 循環。
在方法、索引器、屬性訪問器或事件訪問器中。
else
創建 else 塊。
在方法、索引器、屬性訪問器或事件訪問器中。
enum
創建 enum 聲明。
在命名空間(包括全局命名空間)、類或結構中。
equals
創建一個方法聲明,該聲明對 Object 類中定義的 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
創建 staticint Main 方法聲明。
在類或結構中。
struct
創建 struct 聲明。
在命名空間(包括全局命名空間)、類或結構中。
svm
創建 staticvoid Main 方法聲明。
在類或結構中。
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/
現在你可以去試試怎麼創建你的代碼片段了,是不是寫代碼唰唰的,摟不住了,^_^