凯锐

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

  Visual Studio 2005的程式碼片段(中文簡體叫代碼段)是提供了將現成的程式碼片段插入到項目中的方法﹐是預編寫的程式碼片段。這些程式碼片段可以方便的把我們常用的一些程式碼快捷的輸入到IDE中。減少鍵入重複程式碼或搜索示例所用的時間,從而提高了工作效率。


  具體的輸入方法:eg:我們輸入if然後回車,接著按一下Tab鍵,IDE就會自動給我們添加上去程式碼片段所定義的代碼。而且支援可修改部分,我們可以方便的接著使用Tab來穿梭於各個可修改部分。

  有人會有疑問,這些程式碼片段怎麼來的呢?IDE已經給我們自帶了一部分,我們也可以根據自己的偏好來進行自行創建。

  打開VS2005的 \VC#\Snippets\1028\Visual C# 目錄(中文簡體在\VC#\Snippets\1052\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>//定義可編輯的程式碼片段的文本。他用與標識對代碼快的替換。我們可以使用Tab來進行切換修改。可以按照函數的概念來理解。這裏就是我們傳遞參數值 
                    
<ID>expression</ID>//替代標識 
                    
<ToolTip>要評估的運算式</ToolTip>//提示文本 
                    
<Default>true</Default>//預設值 
                
</Literal>//若需多個,則可重複<Literal>程式碼片段。 
            
</Declarations>
            
<Code Language="csharp"><![CDATA[if ($expression$)
    {
        $selected$ $end$
    }
]]>
            
</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結尾,否則以後沒有辦法使用此代碼段。參照上邊的講解,相信大家不難以葫蘆畫瓢來創建自己的代碼段。

  建立好了,我們該怎麼使用呢?[工具]→[程式碼片段管理員] →[匯入]即可。程式碼片段管理員可以方便的流覽現有的程式碼片段。我們也可以把自己做好的程式碼片段共用給別人,只要別人通過程式碼片段管理員就可以導入制訂好的程式碼片段。很方便。

  通過以上介紹,相信大家會對程式碼片段有一個很清楚的瞭解。我們可以通過"程式碼片段管理員"方便的流覽已經存在的代碼段以及它們的含義。


 文章申明﹕本人發這篇文章的時候﹐是在公司發機器上寫的(因為個人機器上無法安裝XP SP2,也就不能安裝VS2005了﹐郁悶…)﹐使用的是繁體﹐也引用的是一些繁體叫法。各位如果覺得不爽﹐將該文章拷至其它文本編輯器中﹐將”程式碼片段”替換成”代碼段”﹐應該跟我們的習慣叫法就差不多了吧。

posted on 2006-07-31 11:00  凯锐  阅读(749)  评论(0编辑  收藏  举报