共用方式為


逐步解說:在Visual Studio中建立代碼段

您可以使用代碼段來減少輸入重複程式碼或搜尋範例所花費的時間,以提高生產力和可靠性。 代碼段是預先授權的程式代碼片段,可供插入您的應用程式。

您可以建立自己的代碼段,並將其新增至 Visual Studio 已包含的代碼段。 本文會逐步解說如何在幾個步驟中建立代碼段。 您可以建立 XML 檔案、填入適當的元素,並將程式代碼新增至檔案。 您可以選擇性地使用取代參數和項目參考。 然後,您會將代碼段匯入 Visual Studio 安裝。

建立程式碼段

  1. 開啟 Visual Studio,然後在 Start 畫面上選取 繼續而不載入程式碼

    [開始] 視窗的螢幕快照,其中已選取 [繼續但不選取程序代碼] 選項。

  2. 從功能表欄選取 [ 檔案>新檔案],或輸入 Ctrl+N

  3. 在 [ 新增檔案 ] 對話框中,選取 [XML 檔案],然後選取 [ 開啟]。

    [新增檔案] 對話框的螢幕快照,其中已選取 [XML 檔案] 選項。

  4. 將下列基本代碼段範本貼到程式碼編輯器中。

    <?xml version="1.0" encoding="utf-8"?>
    <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
        <CodeSnippet Format="1.0.0">
            <Header>
                <Title></Title>
            </Header>
            <Snippet>
                <Code Language="">
                    <![CDATA[]]>
                </Code>
            </Snippet>
        </CodeSnippet>
    </CodeSnippets>
    
  5. 請將標題 平方根 放入代碼段 Title 元素中。

  6. Language 項目的 屬性 Code 中,填入 C# 代碼段的 CSharp 或 Visual Basic 的 VB

    小提示

    若要查看所有可用的語言值,請參閱代碼段架構參考中的屬性

  7. 將下列代碼片段新增至 Code 元素內的 CDATA 區段。

    針對 C#:

        <![CDATA[double root = Math.Sqrt(16);]]>
    

    針對 Visual Basic:

        <![CDATA[Dim root = Math.Sqrt(16)]]>
    

    備註

    您無法指定如何在代碼段的程式代碼區段CDATA中格式化或縮排行。 插入時,語言服務會自動格式化插入的程序代碼。

  8. 將代碼段隨處儲存為 SquareRoot.snippet

匯入代碼段

  1. 若要將代碼段匯入 Visual Studio 安裝,請選取 [工具>代碼段管理員 ],或按 Ctrl+KB

  2. [代碼段管理員] 中,選取 [ 入] 按鈕。

  3. 流覽至代碼段的位置,選取它,然後選取 [ 開啟]。

  4. 在 [ 匯入代碼段] 對話框中,選取右窗格中的 [我的代碼段 ] 資料夾。 選取結束,然後選取 OK

    代碼段會根據程式代碼語言複製到下列其中一個位置:

    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets
    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual Basic\My Code Snippets
  5. 開啟 C# 或 Visual Basic 項目來測試您的代碼段。 在編輯器中開啟程式代碼檔案時,請採取下列其中一個動作:

    • 在 Visual Studio 選單欄上,選擇 [編輯>IntelliSense>插入代碼段]。
    • 按下滑鼠右鍵,然後從快捷功能表中選擇 代碼段>插入代碼段
    • 從鍵盤按 Ctrl+KX
  6. 開啟 [我的代碼段],然後按兩下名為 Square Root 的代碼段。 程式碼片段會插入程式碼檔案中。

描述和快捷方式欄位

在 [ 代碼段管理員] 中檢視時,描述欄位會提供代碼段的詳細資訊。 快捷鍵是您可以輸入以插入代碼段的標籤。

  1. 若要編輯您的代碼段,請根據程式碼語言,從下列其中一個位置開啟代碼段檔案:

    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet

    小提示

    因為您要在 Visual Studio 放置檔案的目錄中編輯檔案,所以您不需要將它重新匯入 Visual Studio。

  2. AuthorDescriptionShortcut 元素新增到 Header 元素,並填入內容。

  3. 確認 Header 項目看起來類似下列範例,並儲存盤案。

    <Header>
        <Title>Square Root</Title>
        <Author>Myself</Author>
        <Description>Calculates the square root of 16.</Description>
        <Shortcut>sqrt</Shortcut>
    </Header>
    
  4. 開啟 Visual Studio 代碼段管理員 ,然後選取您的代碼段。 在右窗格中,請注意現在已填入 [描述]、[ 作者] 和 [ 快捷方式 ] 字段。

    顯示代碼段管理員中代碼段描述的螢幕快照。

  5. 若要測試快捷方式,請開啟您先前使用的專案,在編輯器中輸入 sqrt ,然後針對 Visual Basic 按 一次 Tab 鍵,或針對 C# 按兩次。 插入代碼片段。

替換參數

您可能希望使用者取代程式碼片段的部分。 例如,您可能希望使用者將變數名稱替換為他們目前專案中的變數名稱。

您可以提供兩種類型的取代:字面值和物件。

  • 使用 Literal 元素 來識別一個完全包含在程式碼片段內的代碼替換項目,此項目在插入程式碼後可以自定義。 例如,字串或數值。

  • 使用 Object 元素 來識別代碼片段所需但可能定義於該片段外的項目。 例如,對象實例或控件。

您可以在 SquareRoot.snippet 檔案中使用 Literal 元素,協助用戶輕鬆地變更要計算平方根的數字。

  1. SquareRoot.snippet 檔案中修改Snippet元素,如下所示:

    <Snippet>
      <Code Language="CSharp">
        <![CDATA[double root = Math.Sqrt($Number$);]]>
      </Code>
      <Declarations>
        <Literal>
          <ID>Number</ID>
          <ToolTip>Enter the number you want the square root of.</ToolTip>
          <Default>16</Default>
        </Literal>
      </Declarations>
    </Snippet>
    

    請注意,文字替換會獲得一個 ID,Number。 您可以將該識別碼用 $ 字元包住,以便在程式碼片段中參考。

    <![CDATA[double root = Math.Sqrt($Number$);]]>
    
  2. 儲存程式碼片段檔案。

  3. 開啟專案並插入代碼段。

    代碼片段被插入,且可編輯的文字常數會高亮顯示以供替換。 將滑鼠游標懸停在替代參數上,以查看該值的工具提示。

    Visual Studio 中代碼段取代參數工具提示的螢幕快照。

    小提示

    如果代碼段中有多個可取代參數,您可以按 Tab 鍵,從一個參數巡覽到另一個參數來變更值。

匯入命名空間

您可以使用代碼段新增 using 指示詞(C#)或 Imports 語句(Visual Basic),藉此包含 Imports 元素。 針對 .NET Framework 專案,您也可以使用 References 元素來新增項目的參考。

下列 XML 顯示了一段代碼,其中在System.IO命名空間中使用File.Exists方法,因此定義了Imports元素以匯入System.IO命名空間。

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>File Exists</Title>
      <Shortcut>exists</Shortcut>
    </Header>
    <Snippet>
      <Code Language="CSharp">
        <![CDATA[var exists = File.Exists("C:\\Temp\\Notes.txt");]]>
      </Code>
      <Imports>
        <Import>
          <Namespace>System.IO</Namespace>
        </Import>
      </Imports>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>