程序員,不得不在thinking 和coding之間進行痛苦的折磨,然而coding占去了我們的大量寶貴的時間。我們重復重復又重復著那些一輩子都不會忘掉的代碼,重復重復又重復的重復著那些被我們敲爛的代碼。
發現這個還是一次偶然的機會,我自定義了一個Prop函數,結果在按下去的時候不小心碰到了Tab鍵結果出現了以下的代碼:
private int myVar; public int MyProperty { get { return myVar;} set { myVar = value;} }
熟悉的朋友應當已經發現這是一個標準的設置屬性的字段。為什么我輸入了Prop會自出來這些呢?帶著疑問找到了google大法,原來已經早就有人發現了:這是2005的一個特色之一:代碼段。
代碼段是提供了將現成的代碼段插入到項目中的方法。它可以方便的把我們常用的一些代碼用"快捷鍵"的方式讓我們迅速的輸入到IDE中。這里我不知道怎么形容,暫且用快捷鍵來代替吧。
具體的輸入方法:例如:我們輸入Prop然后回車,接著按著Tab幾秒鐘,IDE就會自動給我們添加上去代碼段所定義的代碼。而且支持可修改部分,我們可以方便的接著使用Tab來穿梭于各個可修改部分。
有人會有疑問,這些代碼段怎么來的呢?IDE已經給我們自帶了一部分,我們也可以根據自己的偏好來進行自行創建。
打開VS2005的 \VC#\Snippets\2052\Visual C# 目錄,我們會發現有一些以.snippet結尾的文件,這些就是系統給我們默認定義好的代碼段。我們用文本文檔打開,不難發現其實就是標準的XML文件。現對照if代碼段進行一些講解(對應文件為if.snippet)。看起代碼:
| <?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0">//以上是代碼段的一個標準格式 <Header> <Title>if</Title> //代碼段的說明部分,指定代碼段的標題。可以顯示在代碼段插入和代碼段管理器的代碼段說明部分。 <Shortcut>if</Shortcut> //代碼段的快捷方式。就是輸入后按著Tab自動產生代碼 <Description>if 語句的代碼段</Description> //指定代碼段內容的說明信息,它可以給我們在使用代碼段的時候提供工具提示,并且可以在代碼段管理器中提供說明 <Author>Microsoft Corporation</Author> //版權信息 <SnippetTypes> <SnippetType>Expansion</SnippetType> <SnippetType>SurroundsWith</SnippetType> </SnippetTypes> //以上部分指定vs如何插入代碼段。SurroundsWith允許代碼段放置在選定代碼快的周圍,而Expansion的值允許將代碼段插入光標所在的位置。 </Header> <Snippet> //此處開始指定代碼的引用、導入、聲明代碼。主體部分 <Declarations> //指定當前作為代碼段組成部分的文本和對象,對代碼段可以編輯部分。 <Literal>//<Literal> 段定義可編輯的代碼段的文本。他用與標識對代碼快的替換。我們可以使用Tab來進行切換修改。可以按照函數的概念來理解。這里就是我們傳遞參數值 <ID>expression</ID> //替代標識 <ToolTip>要計算的表達式</ToolTip>//提示文本 <Default>true</Default>//默認值 </Literal>//若需多個,則可重復<Literal>代碼段。 </Declarations> <Code Language="csharp"> <![CDATA[if ($expression$) { $selected$ $end$ }]]> </Code>//看code部分代碼段。這里就是我們的核心部分。其中Language可以指定我們在用什么語言開發的時候使用此類代碼段。 <![CDATA[部分就是我們標準的C#語法了。if ($expression$)看清楚if()括號部分的代碼,這里就是使用到我們在<Literal>部分定義的替代標識了。以$開始和結束,由于我們在定義的時候制定了默認值為true,所以在使用代碼段的時候等價于if(true)。而括弧部分就是主體$selected$表示此處可以被選擇,$end$表示代碼段結束。 </Snippet> </CodeSnippet> </CodeSnippets> |
看,通過上邊的分析,代碼段是不是很簡單。我們在對照一下核心部分代碼:
代碼段部分代碼:
if ($expression$) { $selected$ $end$ }
正常語句代碼:
if (條件) { 代碼 }
了解了這些知識,那么我們該如何創建自己的代碼段呢。最簡單的方法就是用記事本,當然要十分熟悉這些語句。另外IDE也給我們提供了創建文件的方法。
[文件]→[新建文件] →[XML文件],重新命名為:mytest. Snippet,一定要以snippet結尾,否則以后沒有辦法使用此代碼段。參照上邊的講解,相信大家不難以葫蘆畫瓢來創建自己的代碼段。
建立好了,我們該怎么使用呢?[工具]→[代碼段管理器] →[導入]即可。代碼段管理器可以方便的瀏覽現有的代碼段。我們也可以把自己做好的代碼段共享給別人,只要別人通過代碼段管理器就可以導入制訂好的代碼段。很方便。
另外我們還可以創建VSI安裝文件來進行安裝使用。相信大部分人對VSI安裝文件都有所了解了,熟悉的初學者開發工具包就是利用VSI文件發布的。具體的方法請看我的后續文章。用好2005之創建安裝程序 (.vsi)
通過以上介紹,相信大家會對代碼段有一個很清楚的了解。我們可以通過"代碼段管理器"方便的瀏覽已經存在的代碼段以及它們的含義。
代碼段是預編寫的代碼片段,您可以隨時使用 Visual Studio 2005 將這些代碼片段插入到您的應用程序中。這些代碼段減少了鍵入重復代碼或搜索示例所用的時間,從而提高了工作效率。
