程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> Visual stutio2005 代碼段(code snippet) 使用詳解

Visual stutio2005 代碼段(code snippet) 使用詳解

編輯:.NET實例教程

Visual stutio2005中新增加的代碼段(code snippet)功能大大提高了我們開發的速度,我們只要寫簡單的幾個字就可以實現一大段代碼的編寫,比如:

我們要寫MessageBox.Show();只要寫mbox然後再點兩下Tab鍵就可以了,這種作法叫做“可擴展式代碼段(Expension)”,除此之外,VS2005還支持外圍式代碼段(surround with)”的功能,使用時,先用鼠標選中要處理的代碼,然後點右鍵,選中外側代碼”,如下圖:

這裡會出現如下菜單:

我們要作的是在外側代碼提示下輸入你想要的代碼段,比如”if”,然後點一下TAB,這時我們選中的代碼就會被外圍起來,如下圖:

vs2005,絕大多數的代碼都有代碼段功能.那麼大家就會問,我們能不能把自己常用的代碼也做成code snippet?

我們當然可以,那麼我們先要弄清楚MS已經實現的代碼段是怎麼寫的呢?

首先打開工具->代碼片段管理器(或者按住ctrl 再連續按下kb)”


會出現如下窗口:

選擇visual C#,並且展開

先來看看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>

              <Description>if 語句的代碼段</Description>

              <Author>Microsoft Corporation</Author>

              <SnippetTypes>

                   <SnippetType>Expansion</SnippetType>

                   <SnippetType>SurroundsWith</SnippetType>

              </SnippetTypes>

         </Header>

         <Snippet>

              <Declarations>

                   <Literal>

                       <ID>expression</ID>

                       <ToolTip>要計算的表達式</ToolTip>

                       <Default>true</Default>

                   </Literal>

              </Declarations>

              <Code Language="csharp"><![CDATA[if ($expression$)

   &nbsp; {

         $selected$ $end$

     }]]>

              </Code>

         </Snippet>

     </CodeSnippet>

</CodeSnippets>

大家可以看到,其實這個文件是一個XML文件,並且包含多個子節點,我們可以把這個XML文件的根合並,然後一級一級的分析:

這裡面包含兩個可以展開的子節點:<Header>子節點和<Snippet>子節點

<Header>子節點:用於表示當前Code Snippet文件的一些聲明信息,包括(“//”表示作者添加的注解):

<Title>if</Title>//代碼片段的標題

              <Shortcut>if</Shortcut>//該代碼片段的快捷方式(也就是說你輸入什麼字母能出來)

              <Description>if 語句的代碼段</Description>//輸入快捷方式後和提示

 

              <Author>Microsoft Corporation</Author>//哪個公司出的

              <SnippetTypes>

                   <SnippetType>Expansion</SnippetType>//指明該代碼段可以用作擴展的

                   <SnippetType>SurroundsWith</SnippetType>//指明該代碼段可以用作外圍的

              </SnippetTypes>

<Snippet>子節點是代碼段的正文,其中包括兩個子節<Declarations>子節和<Code >子節,如下圖:

<Declarations>子節用於定義代碼變量,在該子節中可以包括多個<literal>子節,每一個<literal>子節都是一個變量,說到這裡,大家會問,難道CodeSnippet中還需要有變量嗎?是的,一定要有!原因如下:

當我們利用代碼段寫完一個語句塊時,總有一些內容是需要再次修改的,比如:輸入完if語句的代碼段之後,生成的代碼如下:

If語句的默認條件是true,用戶可能將其改為自己想要的條件,這時true就是一個變量,因此if語句就有一個變量.再比如說,輸入完for語句的代碼段後,代碼如下:

這裡用於循環計數的i可能會發生改變,表示循環的length也會被修改,因此length也是一個變量.for語句的代碼段中就包括兩個參數.了解這些之後,我們來看一下,if語句中的參數是如何定義的,

<Literal>

                       <ID>expression</ID>//變量的名

                       <ToolTip>要計算的表達式</ToolTip>//變量的提示(當鼠標停留在變量上面)

                       <Default>true</Default>//默認的值

                   </Literal>

下面我們來說一下<Code >子節,該節是代碼段實現的正文,內容如下:

<Code Language="csharp"><![CDATA[if ($expression$)

     {

         $selected$ $end$

     }]]>

</Code>

在該節中,Language屬性說明該代碼段是在C#語言中使用的.CDATA表示後面的內容為字符串.灰色的文字表示要輸出的文字,在要輸出的文字中,有兩種字符,一種是沒有任何標記的,if,表示它將直接輸出.另外一種字符前後都有$符號,該符號表明這是一個前面定義好的變量,比如$expression$就是我們前面看到的<Literal>節中定義的那個變量,這種字符在輸出的時候會按著該變量的默認值輸出,這裡$expression$變量的默認值是true.

後面的$selected$ $end$標記表明在輸入完代碼段時,我們按下回車鍵中光標所處的位置.

經過上面的講解,大家應該明白代碼段是怎麼定義的了吧?:)

下面,我們來根據上面的經驗來自己定義一個代碼段吧.代碼如下:

<?XML version="1.0" encoding="utf-8"?>

<CodeSnippets XMLns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">

  <CodeSnippet Format="1.0.0">

    <Header>

      <Title>def</Title>

      <Shortcut>def</Shortcut>

      <Description>defining a new object </Description>

      <Author>www.MakingMyMoney.com</Author>

      <SnippetTypes>

        <SnippetType>Expansion</SnippetType>

      </SnippetTypes>

    </Header>

    <Snippet>

      <Declarations>

  <Literal>

          <ID>DataType</ID>

          <ToolTip>數據類型</ToolTip>

          <Default>object</Default>

        </Literal>

        <Literal>

          <ID>Variant</ID>

          <ToolTip>變量</ToolTip>

          <Default>var</Default>

        </Literal>

      </Declarations>

      <Code Language="csharp">

        <![CDATA[$DataType$ $Variant$=new $DataType$();$selected$ $end$   

     ]]>

      </Code>

    </Snippet>

  </CodeSnippet>

</CodeSnippets>

 

 

該代碼段實現的功能是幫助我們快速定義變量.我們可以想象一下,定義一個變量的時候,我們的代碼通常是這樣的:

DataSet ds = new DataSet();

這裡數據類型及構造函數是一個樣,並且可能是經常改變的,因此,我這裡將它定義為一個變量 “DataType”,另外上面一行代碼中的變量名也會改變,因此這裡又定義第二個變量” DataType”.

呵呵到這裡,另的我就不說了,大家一起學習一下吧.

 'vb.Net2005的導出到Excel功能函數
    Public Function ExportExcel(ByVal dgv As DataGridVIEw, ByVal IsOnlyVisible As Boolean) As Boolean
        Try
            Dim n, i, j, row, col As Integer
            Dim excel As Excel.Application = New Excel.Application

            Excel.Application.Workbooks.Add(True)
            col = 1
            '//記錄列名
            For n = 0 To dgv.ColumnCount - 1
                If IsOnlyVisible Then
                    If dgv.Columns(n).Visible Then
                        Excel.Cells(1, col) = dgv.Columns(n).HeaderText
                        col = col + 1
                    End If
                Else
                    Excel.Cells(1, n + 1) = dgv.Columns(n).HeaderText
                End If

            Next
            '//記錄內容
            row = 2
            ' col = 1

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved