程式碼片段結構描述參考
IntelliSense 程式碼片段是預先設計的程式碼片段,可用以插入使用 Visual Studio 的應用程式。 您可以提供程式碼片段來縮短輸入重複程式碼或搜尋範例所花費的時間,藉此提高產能。 您可以使用 IntelliSense 程式碼片段 XML 結構描述,建立自己的程式碼片段,並新增至 Visual Studio 已包含的程式碼片段中。
IntelliSense 程式碼片段結構描述項目
Assembly 項目
指定程式碼片段所參考的組件名稱。
![]() |
---|
只有 Visual Basic 程式碼片段支援 Assembly 項目。 |
Assembly 項目的文字值有兩種,即組件的易記文字名稱,例如 System.dll,或是組件的強式名稱 (Strong Name),例如 System,Version=1.0.0.1,Culture=neutral,PublicKeyToken=9b35aa323c18d4fb1。
<Assembly>
AssemblyName
</Assembly>
Parent 項目 |
描述 |
---|---|
包含有關程式碼片段所需之組件參考的資訊。 |
需要文字值。 此文字會指定程式碼片段參考的組件。
Author 項目
指定程式碼片段作者名稱。 [程式碼片段管理員] 會顯示儲存在程式碼片段 Author 項目中的名稱。
<Author>
Code Snippet Author
</Author>
Parent 項目 |
描述 |
---|---|
包含有關該程式碼片段的一般資訊。 |
需要文字值。 此文字會指定程式碼片段的作者。
Code 項目
提供簡短程式碼區塊的容器。
Code 項目的文字可以使用兩個保留字:$end$ 和 $selected$。 $end$ 會標記程式碼片段插入後,放置游標的位置。 $selected$ 表示在文件中選取的文字,該文字會在叫用時插入程式碼片段中。 例如,假設程式碼片段包含:
$selected$ is a great color.
如果使用者叫用範本時選取的文字是 "Blue",結果為:
Blue is a great color.
您不可以在程式碼片段中多次使用 $end$ 或 $selected$。 如果這麼做,系統只會辨認第二個執行個體。 假設程式碼片段包含:
$selected$ is a great color. I love $selected$.
如果選取的文字是 "Blue",結果為:
is a great color. I love Blue.
由於 $selected$ 和 is 之間有一個空格,因此開頭會出現空格。
所有其他 $ 關鍵字都會在 <Literal> 和 <Object> 標記中動態定義。
<Code Language="Language"
Kind="method body/method decl/type decl/page/file/any"
Delimiter="Delimiter">
Code to insert
</Code>
屬性 |
描述 |
---|---|
Delimiter |
選擇性屬性。 指定在程式碼中用來描述常值和物件的分隔符號。 根據預設,分隔符號為 $。 |
Kind |
選擇性屬性。 指定程式碼片段包含的程式碼種類,以及程式碼片段必須插入以供編譯的位置。 可用的值包括 method body、method decl、type decl、file 及 any。 |
Language |
必要屬性。 指定程式碼片段的語言。 |
種類屬性值 |
描述 |
---|---|
method body |
指定程式碼片段為方法主體,因此必須在方法宣告中插入。 |
method decl |
指定程式碼片段為方法,因此必須在類別或模組中插入。 |
type decl |
指定程式碼片段為類型,因此必須在類別、模組或命名空間中插入。 |
file |
指定程式碼片段為完整的程式碼檔。 這些程式碼片段可以單獨插入程式碼檔中或命名空間內。 |
any |
指定程式碼片段可以插入任何位置。 這個標記可用於與內容無關的程式碼片段,例如註解。 |
語言屬性值 |
描述 |
---|---|
VB |
識別 Visual Basic 程式碼片段。 |
CSharp |
識別 C# 程式碼片段。 |
CPP |
識別 C++ 程式碼片段。 |
XML |
識別 XML 程式碼片段。 |
JavaScript |
識別 JavaScript 程式碼片段。 |
SQL |
識別 SQL 程式碼片段。 |
HTML |
識別 HTML 程式碼片段。 |
Parent 項目 |
描述 |
---|---|
包含程式碼片段的參考、匯入、宣告和程式碼。 |
需要文字值。 此文字會指定程式碼以及常值和物件,讓您可以在將此程式碼片段插入專案時使用。
CodeSnippet 項目
讓您指定可插入 Visual Studio 程式碼檔中的標題和多個 IntelliSense 程式碼片段。
<CodeSnippet Format="x.x.x">
<Header>... </Header>
<Snippet>... </Snippet>
</CodeSnippet>
屬性 |
描述 |
---|---|
Format |
必要屬性。 指定程式碼片段的結構描述版本。 Format 屬性必須是語法為 x.x.x 的字串,其中每個 "x" 代表版本號碼的一個數值。 Visual Studio 會忽略具有它所不了解之 Format 屬性的程式碼片段。 |
子項目 |
描述 |
---|---|
必要項目。 包含有關該程式碼片段的一般資訊。 程式碼片段中只能有一個 Header 項目。 |
|
必要項目。 包含 Visual Studio 將插入的程式碼。 程式碼片段中只能有一個 Snippet 項目。 |
Parent 項目 |
描述 |
---|---|
程式碼片段 XML 結構描述的根項目。 |
CodeSnippets 項目
將 CodeSnippet Element 項目設為群組。 CodeSnippets 項目是程式碼片段 XML 結構描述的根項目。
<CodeSnippets>
<CodeSnippet>... </CodeSnippet>
</CodeSnippets>
子項目 |
描述 |
---|---|
選擇性項目。 所有程式碼片段資料的父項目。 CodeSnippets 項目中可能有零個或多個 CodeSnippet 項目。 |
Declarations 項目
指定構成您可以編輯的程式碼片段部分的常值和物件。
<Declarations>
<Literal>... </Literal>
<Object>... </Object>
</Declarations>
子項目 |
描述 |
---|---|
選擇性項目。 定義您可以編輯的程式碼片段常值。 Declarations 項目中可能有零個或多個 Literal 項目。 |
|
選擇性項目。 定義您可以編輯的程式碼片段物件。 Declarations 項目中可能有零個或多個 Object 項目。 |
Parent 項目 |
描述 |
---|---|
包含程式碼片段的參考、匯入、宣告和程式碼。 |
Default 項目
指定 IntelliSense 程式碼片段中常值或物件的預設值。
<Default>
Default value
</Default>
Parent 項目 |
描述 |
---|---|
定義您可以編輯之程式碼片段的常值欄位。 |
|
定義您可以編輯之程式碼片段的物件欄位。 |
需要文字值。 這項文字是指定填入您可以編輯的程式碼片段中,各欄位的常值或物件的預設值。
Description 項目
指定有關 IntelliSense 程式碼片段內容的描述性資訊。
<Description>
Code Snippet Description
</Description>
Parent 項目 |
描述 |
---|---|
包含有關該程式碼片段的一般資訊。 |
需要文字值。 此文字描述程式碼片段。
Function 項目
指定常值或物件在 Visual Studio 中得到焦點時要執行的函式。
![]() |
---|
只有 Visual C# 程式碼片段支援 Function 項目。 |
<Function>
FunctionName
</Function>
Parent 項目 |
描述 |
---|---|
定義您可以編輯之程式碼片段的常值欄位。 |
|
定義您可以編輯之程式碼片段的物件欄位。 |
需要文字值。 此文字指定常值或物件欄位在 Visual Studio 中得到焦點時要執行的函式。
Header 項目
指定有關 IntelliSense 程式碼片段的一般資訊。
<Header>
<Title>... </Title>
<Author>... </Author>
<Description>... </Description>
<HelpUrl>... </HelpUrl>
<SnippetTypes>... </SnippetTypes>
<Keywords>... </Keywords>
<Shortcut>... </Shortcut>
</Header>
子項目 |
描述 |
||
---|---|---|---|
選擇性項目。 程式碼片段作者的人員或公司名稱。 Header 項目中可能有零個或一個 Author 項目。 |
|||
選擇性項目。 程式碼片段的描述。 Header 項目中可能有零個或一個 Description 項目。 |
|||
選擇性項目。 包含程式碼片段詳細資訊的 URL。 Header 項目中可能有零個或一個 HelpURL 項目。
|
|||
選擇性項目。 將 Keyword 項目設為群組。 Header 項目中可能有零個或一個 Keywords 項目。 |
|||
選擇性項目。 指定可用來插入程式碼片段的捷徑文字。 Header 項目中可能有零個或一個 Shortcut 項目。 |
|||
選擇性項目。 將 SnippetType 項目設為群組。 Header 項目中可能有零個或一個 SnippetTypes 項目。 如果沒有 SnippetTypes 項目,程式碼片段永遠有效。 |
|||
必要項目。 程式碼片段的易記名稱。 Header 項目中只能有一個 Title 項目。 |
Parent 項目 |
描述 |
---|---|
所有程式碼片段資料的父項目。 |
HelpUrl 項目
指定提供程式碼片段詳細資訊的 URL。
![]() |
---|
Visual Studio 不會使用 HelpUrl 元素。此項目是 IntelliSense 程式碼片段 XML 結構描述的一部分,任何包含此項目的程式碼片段都會生效,但是不會使用此項目的值。 |
<HelpUrl>
www.microsoft.com
</HelpUrl>
Parent 項目 |
描述 |
---|---|
包含有關該程式碼片段的一般資訊。 |
可選擇使用文字值。 此文字指定可瀏覽程式碼片段詳細資訊的 URL。
ID 項目
指定 Literal 或 Object 項目的唯一識別項。 相同程式碼片段中不會有兩個常值或物件的 ID 項目有相同的文字值。常值和物件不能包含具有 end 值的 ID 項目。 已保留 $end$ 值,並且在插入程式碼片段以後,用來標示放置游標的位置。
<ID>
Unique Identifier
</ID>
Parent 項目 |
描述 |
---|---|
定義您可以編輯之程式碼片段的常值欄位。 |
|
定義您可以編輯之程式碼片段的物件欄位。 |
需要文字值。 此文字會指定物件或常值的唯一識別項。
Import 項目
指定 IntelliSense 程式碼片段使用的匯入命名空間。
![]() |
---|
只有 Visual Basic 專案支援 Import 項目。 |
<Import>
<Namespace>... </Namespace>
</Import>
子項目 |
描述 |
---|---|
必要項目。 指定程式碼片段所使用的命名空間。 Import 項目中只能有一個 Namespace 項目。 |
Parent 項目 |
描述 |
---|---|
將 Import 項目的項目設為群組。 |
Imports 項目
將個別 Import 項目設為群組。
![]() |
---|
只有 Visual Basic 專案支援 Imports 項目。 |
<Imports>
<Import>... </Import>
<Imports>
子項目 |
描述 |
---|---|
選擇性項目。 包含程式碼片段的已匯入命名空間。 Imports 項目中可能有零個或多個 Import 項目。 |
Parent 項目 |
描述 |
---|---|
包含程式碼片段的參考、匯入、宣告和程式碼。 |
Keyword 項目
指定程式碼片段的自訂關鍵字。 這些程式碼片段關鍵字是由 Visual Studio 使用,而且代表線上內容提供者加入自訂關鍵字進行搜尋或分類的標準方式。
<Keyword>
Code Snippet Keyword
</Keyword>
Parent 項目 |
描述 |
---|---|
將個別 Keyword 項目設為群組。 |
需要文字值。 程式碼片段的關鍵字。
Keywords 項目
將個別 Keyword 項目設為群組。 這些程式碼片段關鍵字是由 Visual Studio 使用,而且代表線上內容提供者加入自訂關鍵字進行搜尋或分類的標準方式
<Keywords>
<Keyword>... </Keyword>
<Keyword>... </Keyword>
<Keywords>
子項目 |
描述 |
---|---|
選擇性項目。 包含程式碼片段的個別關鍵字。 Keywords 項目中可能有零個或多個 Keyword 項目。 |
Parent 項目 |
描述 |
---|---|
包含有關該程式碼片段的一般資訊。 |
Literal 項目
定義您可以編輯的程式碼片段常值。 Literal 項目是用以辨認整個包含在程式碼片段中一小段程式碼的取代,但有可能會在插入程式碼後加以自訂。 例如常值字串、數值以及一些應宣告為常值的變數名稱。
常值和物件不能包含值為 selected 或 end 的 ID 項目。 $selected$ 值代表在文件中選取的文字,這些文字會在叫用時插入程式碼片段中。 $end$ 會標記程式碼片段插入後,放置游標的位置。
<Literal Editable="true/false">
<ID>... </ID>
<ToolTip>... </ToolTip>
<Default>... </Default>
<Function>... </Function>
</Literal>
屬性 |
描述 |
---|---|
Editable |
選擇性 Boolean 屬性。 指定在程式碼片段插入後您是否可以編輯常值。 此屬性的預設值為 true。 |
子項目 |
描述 |
---|---|
必要項目。 當您插入程式碼片段時,指定常值的預設值。 Literal 項目中只能有一個 Default 項目。 |
|
選擇性項目。 指定常值在 Visual Studio 中獲得焦點時要執行的函式。 Literal 項目中可能有零個或一個 Function 項目。 |
|
必要項目。 指定常值的唯一識別項。 Literal 項目中只能有一個 ID 項目。 |
|
選擇性項目。 描述常值需要的值和使用方式。 Literal 項目中可能有零個或一個 Tooltip 項目。 |
Parent 項目 |
描述 |
---|---|
包含您可以編輯之程式碼片段的常值和物件。 |
Namespace 項目
指定必須匯入的命名空間,匯入後程式碼片段才能進行編譯和執行。 在 Namespace 項目中指定的命名空間會自動加入至程式碼開頭的 Imports 陳述式中 (如果不存在的話)。
![]() |
---|
只有 Visual Basic 專案支援 Namespace 項目。 |
<Namespace>
Namespace
</Namespace>
Parent 項目 |
描述 |
---|---|
匯入指定的命名空間。 |
需要文字值。 此文字會指定程式碼片段假設已匯入的命名空間。
Object 項目
定義您可以編輯的程式碼片段物件。 Object 項目是用以識別程式碼片段所需的項目,但有可能定義在程式碼片段本身的外面。 例如,Windows Form 控制項、ASP.NET 控制項、物件執行個體以及類型執行個體應該宣告為物件。 物件宣告需要指定類型,可透過 Type 項目指定。
<Object Editable="true/false">
<ID>... </ID>
<Type>... </Type>
<ToolTip>... </ToolTip>
<Default>... </Default>
<Function>... </Function>
</Object>
屬性 |
描述 |
---|---|
Editable |
選擇性 Boolean 屬性。 指定在程式碼片段插入後您是否可以編輯常值。 此屬性的預設值為 true。 |
子項目 |
描述 |
---|---|
必要項目。 當您插入程式碼片段時,指定常值的預設值。 Literal 項目中只能有一個 Default 項目。 |
|
選擇性項目。 指定常值在 Visual Studio 中獲得焦點時要執行的函式。 Literal 項目中可能有零個或一個 Function 項目。 |
|
必要項目。 指定常值的唯一識別項。 Literal 項目中只能有一個 ID 項目。 |
|
選擇性項目。 描述常值需要的值和使用方式。 Literal 項目中可能有零個或一個 Tooltip 項目。 |
|
必要項目。 指定物件類型。 Object 項目中只能有一個 Type 項目。 |
Parent 項目 |
描述 |
---|---|
包含您可以編輯之程式碼片段的常值和物件。 |
Reference 項目
指定程式碼片段所需之組件參考的相關資訊。
![]() |
---|
只有 Visual Basic 專案支援 Reference 項目。 |
<Reference>
<Assembly>... </Assembly>
<Url>... </Url>
</Reference>
子項目 |
描述 |
---|---|
必要項目。 包含程式碼片段參考的組件名稱。 Reference 項目中只能有一個 Assembly 項目。 |
|
選擇性項目。 包含可提供參考組件詳細資訊的 URL。 Reference 項目中可能有零個或一個 Url 項目。 |
Parent 項目 |
描述 |
---|---|
Reference 項目的群組項目。 |
References 項目
將個別 Reference 項目設為群組。
![]() |
---|
只有 Visual Basic 專案支援 References 項目。 |
<References>
<Reference>... </Reference>
</References>
子項目 |
描述 |
---|---|
選擇性項目。 包含程式碼片段的組件參考資訊。 References 項目中可能有零個或多個 Reference 項目。 |
Parent 項目 |
描述 |
---|---|
包含程式碼片段的參考、匯入、宣告和程式碼。 |
Shortcut 項目
指定用來插入程式碼片段的捷徑文字。 Shortcut 項目的文字值只能包含英數字元、短破折號 ( - ) 及底線 ( _ )。
警告
C++ 程式碼片段捷徑不支援 _ 和 – 字元。
<Shortcut>
Shortcut Text
</Shortcut>
Parent 項目 |
描述 |
---|---|
包含有關該程式碼片段的一般資訊。 |
可選擇使用文字值。 此文字是做為插入程式碼片段的捷徑。
Snippet 項目
指定程式碼片段的參考、匯入、宣告及程式碼。
<Snippet>
<References>... </References>
<Imports>... </Imports>
<Declarations>... </Declarations>
<Code>... </Code>
</Snippet>
子項目 |
描述 |
---|---|
必要項目。 指定您要插入文件檔的程式碼。 Snippet 項目中只能有一個 Code 項目。 |
|
選擇性項目。 指定構成您可以編輯的程式碼片段部分的常值和物件。 Snippet 項目中可能有零個或一個 Declarations 項目。 |
|
選擇性項目。 將個別 Import 項目設為群組。 Snippet 項目中可能有零個或一個 Imports 項目。 |
|
選擇性項目。 將個別 Reference 項目設為群組。 Snippet 項目中可能有零個或一個 References 項目。 |
Parent 項目 |
描述 |
---|---|
讓您指定可插入 Visual Studio 程式碼檔中的標題和多個 IntelliSense 程式碼片段。 |
SnippetType 項目
指定 Visual Studio 如何插入程式碼片段。
<SnippetType>
SurroundsWith/Expansion
<SnippetType>
Parent 項目 |
描述 |
---|---|
將 SnippetType 項目設為群組。 |
文字值必須是下列其中一個值:
SurroundsWith:允許將程式碼片段放置在所選取程式碼的前後。
Expansion:允許在游標所在位置插入程式碼片段。
Refactoring:指定在 Visual C# 重構期間使用程式碼片段。 Refactoring 無法在自訂程式碼片段中使用。
SnippetTypes 項目
將個別 SnippetType 項目設為群組。 如果沒有 SnippetTypes 項目,程式碼片段就可以插入程式碼中的任何位置。
<SnippetTypes>
<SnippetType>... </SnippetType>
<SnippetType>... </SnippetType>
<SnippetTypes>
子項目 |
描述 |
---|---|
選擇性項目。 指定 Visual Studio 如何將程式碼片段插入程式碼中。 SnippetTypes 項目中可能有零個或多個 SnippetType 項目。 |
Parent 項目 |
描述 |
---|---|
指定有關程式碼片段的一般資訊。 |
Title 項目
指定程式碼片段的標題。 儲存在程式碼片段之 Title 項目中的標題會出現在 [程式碼片段選擇器] 中,以及出現在 [程式碼片段管理員] 的程式碼片段描述中。
<Title>
Code Snippet Title
<Title>
Parent 項目 |
描述 |
---|---|
指定有關程式碼片段的一般資訊。 |
需要文字值。 此文字會指定程式碼片段的標題。
ToolTip 項目
描述程式碼片段中常值或物件的預期值和使用方式,這會在 Visual Studio 將程式碼片段插入專案時,顯示在工具提示中。 在插入程式碼片段後,當滑鼠停留在常值或物件上時,就會顯示工具提示文字。
<ToolTip>
ToolTip description
</ToolTip>
Parent 項目 |
描述 |
---|---|
定義您可以編輯之程式碼片段的常值欄位。 |
|
定義您可以編輯之程式碼片段的物件欄位。 |
需要文字值。 此文字會指定要與程式碼片段中的物件或常值相關聯的工具提示描述。
Type 項目
指定物件類型。 Object 項目是用以識別程式碼片段所需的項目,但有可能定義在程式碼片段本身的外面。 例如,Windows Form 控制項、ASP.NET 控制項、物件執行個體以及類型執行個體應該宣告為物件。 物件宣告需要指定類型,可透過 Type 項目指定。
<Type>
Type
</Type>
Parent 項目 |
描述 |
---|---|
定義您可以編輯之程式碼片段的物件欄位。 |
需要文字值。 此文字會指定物件的類型。
Url 項目
指定提供所參考組件相關詳細資訊的 URL。
![]() |
---|
只有 Visual Basic 專案支援 Url 項目。 |
<Url>
www.microsoft.com
</Url>
Parent 項目 |
描述 |
---|---|
指定程式碼片段所需的組件參考。 |
需要文字值。 此文字會指定參考組件詳細資訊的 URL。 當參考無法加入至專案時,就會顯示此 URL。