代码段架构参考

IntelliSense 代码段是预编写的代码段,你可以随时使用 Visual Studio 将这些代码段插入到你的应用程序中。 可以通过提供代码段来减少键入重复代码或搜索示例所用的时间,从而提高工作效率。 可以使用 IntelliSense 代码段 XML 架构创建自己的代码段,并将它们添加到 Visual Studio 已包含的代码段中。

IntelliSense 代码段架构元素

Assembly Element

HelpUrl Element

References Element

Author Element

ID Element

Shortcut Element

Code Element

Import Element

Snippet Element

CodeSnippet Element

Imports Element

SnippetType Element

CodeSnippets Element

Keyword Element

SnippetTypes Element

Declarations Element

Keywords Element

Title Element

Default Element

Literal Element

ToolTip Element

Description Element

Namespace Element

Type Element

Function Element

Object Element

Url Element

Header Element

Reference Element

Assembly 元素

指定代码段引用的程序集的名称。

备注

只有 Visual Basic 代码段支持 Assembly 元素。

Assembly 元素的文本值可以是程序集的友好文本名称(如 System.dll),也可以是程序集的强名称(如 System,Version=1.0.0.1,Culture=neutral,PublicKeyToken=9b35aa323c18d4fb1)。

<Assembly>
    AssemblyName
</Assembly>

父元素

描述

Reference Element

包含有关代码段所需的程序集引用的信息。

需要一个文本值。 此文本指定代码段引用的程序集。

Author 元素

指定代码段作者的姓名。 代码段管理器显示存储在代码段的 Author 元素中的代码段名称。

<Author>
   Code Snippet Author
</Author>

父元素

描述

Header Element

包含有关代码段的常规信息。

需要一个文本值。 此文本指定代码段的作者。

Code 元素

为短代码块提供一个容器。

两个保留字可在 Code 元素的文本中使用:$end$ 和 $selected$。 $end$ 标记在插入代码段之后用于放置光标的位置。 $selected$ 表示在文档中选择的要在调用时插入代码段的文本。 例如,指定一个代码段,使其包括:

$selected$ is a great color.

如果用户在调用模板时选择了“蓝色”一词,结果为:

Blue is a great color.

你不能在一个代码段中多次使用 $end$ 或 $selected$。 如果要这么做,只能识别第二个实例。 指定代码段,使其包括:

$selected$ is a great color. I love $selected$.

如果选择了“蓝色”一词,结果为:

 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 代码段。

父元素

描述

Snippet Element

包含用于代码段的引用、导入、声明和代码。

需要一个文本值。 此文本指定在将此代码段插入到项目中时可以使用的代码以及文本和对象。

CodeSnippet 元素

允许你指定一个标题和多个 IntelliSense 代码段,你可以将其插入 Visual Studio 代码文件中。

<CodeSnippet Format="x.x.x">
    <Header>... </Header>
    <Snippet>... </Snippet>
</CodeSnippet>

特性

描述

Format

必需的特性。 指定代码段的架构版本。 Format 特性必须是语法为 x.x.x 的字符串,其中每个“x”表示版本号的数值。 Visual Studio 将忽略具有它不理解的 Format 特性的代码段。

子元素

描述

Header Element

必需的元素。 包含有关代码段的常规信息。 代码段中必须有且仅有一个 Header 元素。

Snippet Element

必需的元素。 包含将由 Visual Studio 插入的代码。 代码段中必须有且仅有一个 Snippet 元素。

父元素

描述

CodeSnippets Element

代码段 XML 架构的根元素。

CodeSnippets 元素

CodeSnippet Element 元素进行分组。 CodeSnippets 元素是代码段 XML 架构的根元素。

<CodeSnippets>
    <CodeSnippet>... </CodeSnippet>
</CodeSnippets>

子元素

描述

CodeSnippet Element

可选元素。 所有代码段数据的父元素。 CodeSnippets 元素中可能有零个或零个以上的 CodeSnippet 元素。

Declarations 元素

指定作为某个代码段组成部分的文本和对象,你可以对该代码段进行编辑。

<Declarations>
    <Literal>... </Literal>
    <Object>... </Object>
</Declarations>

子元素

描述

Literal Element

可选元素。 定义你可以编辑的代码段的文本。 Declarations 元素中可能有零个或零个以上的 Literal 元素。

Object Element

可选元素。 定义你可以编辑的代码段的对象。 Declarations 元素中可能有零个或零个以上的 Object 元素。

父元素

描述

Snippet Element

包含用于代码段的引用、导入、声明和代码。

Default 元素

指定 IntelliSense 代码段的文本或对象的默认值。

<Default>
    Default value
</Default>

父元素

描述

Literal Element

定义代码段的可编辑文本字段。

Object Element

定义代码段的可编辑对象字段。

需要一个文本值。 此文本指定文本或对象的默认值,该默认值用于填充你可以编辑的代码段的字段。

Description 元素

指定有关 IntelliSense 代码段内容的说明信息。

<Description>
    Code Snippet Description
</Description>

父元素

描述

Header Element

包含有关代码段的常规信息。

需要一个文本值。 此文本描述代码段。

Function 元素

指定当 Visual Studio 中的文本或对象收到焦点时要执行的函数。

备注

只有 Visual C# 代码段支持 Function 元素。

<Function>
    FunctionName
</Function>

父元素

描述

Literal Element

定义代码段的可编辑文本字段。

Object Element

定义代码段的可编辑对象字段。

需要一个文本值。 此文本指定当文本或对象字段在 Visual Studio 中获得焦点时要执行的函数。

Header 元素

指定有关 IntelliSense 代码段的常规信息。

<Header>
    <Title>... </Title>
    <Author>... </Author>
    <Description>... </Description>
    <HelpUrl>... </HelpUrl>
    <SnippetTypes>... </SnippetTypes>
    <Keywords>... </Keywords>
    <Shortcut>... </Shortcut>
</Header>

子元素

描述

Author Element

可选元素。 编写代码段的人员或公司的姓名或名称。 Header 元素中可能有零个或一个 Author 元素。

Description Element

可选元素。 代码段说明。 Header 元素中可能有零个或一个 Description 元素。

HelpUrl Element

可选元素。 包含有关代码段的详细信息的 URL。 Header 元素中可能有零个或一个 HelpURL 元素。

备注

Visual Studio 不使用 HelpUrl 元素。该元素是 IntelliSense 代码段 XML 架构的一部分,包含该元素的任何代码段将进行验证,但是从不使用该元素的值。

Keywords Element

可选元素。 对 Keyword 元素进行分组。 Header 元素中可能有零个或一个 Keywords 元素。

Shortcut Element

可选元素。 指定可用于插入代码段的快捷方式文本。 Header 元素中可能有零个或一个 Shortcut 元素。

SnippetTypes Element

可选元素。 对 SnippetType 元素进行分组。 Header 元素中可能有零个或一个 SnippetTypes 元素。 如果没有 SnippetTypes 元素,代码段将一直有效。

Title Element

必需的元素。 代码段的友好名称。 Header 元素中必须有且仅有一个 Title 元素。

父元素

描述

CodeSnippet Element

所有代码段数据的父元素。

HelpUrl 元素

指定一个用于提供有关代码段的详细信息的 URL。

备注

Visual Studio 不使用 HelpUrl 元素。该元素是 IntelliSense 代码段 XML 架构的一部分,包含该元素的任何代码段将进行验证,但是从不使用该元素的值。

<HelpUrl>
    www.microsoft.com
</HelpUrl>

父元素

描述

Header Element

包含有关代码段的常规信息。

文本值是可选的。 此文本指定用于访问有关代码段的详细信息的 URL。

ID 元素

指定 Literal 或 Object 元素的唯一标识符。 在同一代码段中,两个文本或对象不能在其 ID 元素中拥有相同文本值。文本和对象不能包含具有末尾值的 ID 元素。 $end$ 值是保留值,用于标记插入代码段后放置光标的位置。

<ID>
    Unique Identifier
</ID>

父元素

描述

Literal Element

定义代码段的可编辑文本字段。

Object Element

定义代码段的可编辑对象字段。

需要一个文本值。 此文本指定对象或文本的唯一标识符。

Import 元素

指定 IntelliSense 代码段使用的导入的命名空间。

备注

只有 Visual Basic 项目支持 Import 元素。

<Import>
    <Namespace>... </Namespace>
</Import>

子元素

描述

Namespace Element

必需的元素。 指定代码段使用的命名空间。 Import 元素中必须有且仅有一个 Namespace 元素。

父元素

描述

Imports Element

Import 元素进行分组。

Imports 元素

对单个 Import 元素进行分组。

备注

只有 Visual Basic 项目支持 Imports 元素。

<Imports>
    <Import>... </Import>
<Imports>

子元素

描述

Import Element

可选元素。 包含代码段的导入命名空间。 Imports 元素中可能有零个或零个以上的 Import 元素。

父元素

描述

Snippet Element

包含用于代码段的引用、导入、声明和代码。

Keyword 元素

为代码段指定自定义关键字。 代码段关键字由 Visual Studio 使用,这些关键字表示联机内容提供程序添加用于搜索或分类的自定义关键字的标准方法。

<Keyword>
    Code Snippet Keyword
</Keyword>

父元素

描述

Keywords Element

对单个 Keyword 元素进行分组。

需要一个文本值。 代码段的关键字。

Keywords 元素

对单个 Keyword 元素进行分组。 代码段关键字由 Visual Studio 使用,这些关键字表示联机内容提供程序添加用于搜索或分类的自定义关键字的标准方法

<Keywords>
    <Keyword>... </Keyword>
    <Keyword>... </Keyword>
<Keywords>

子元素

描述

Keyword Element

可选元素。 包含代码段的各个关键字。 Keywords 元素中可能有零个或零个以上的 Keyword 元素。

父元素

描述

Header Element

包含有关代码段的常规信息。

Literal 元素

定义你可以编辑的代码段的文本。 Literal 元素用于标识整体包含在代码段中、但在插入到代码中后可能会进行自定义的代码部分的替换对象。 例如,文本字符串、数值和某些变量名应声明为文本。

文本和对象不能包含具有选定值或末尾值的 ID 元素。 值 $selected$ 表示在文档中选择的要在调用时插入代码段的文本。 $end$ 标记在插入代码段之后用于放置光标的位置。

<Literal Editable="true/false">
   <ID>... </ID>
   <ToolTip>... </ToolTip>
   <Default>... </Default>
   <Function>... </Function>
</Literal>

特性

描述

Editable

可选的 Boolean 特性。 指定在插入代码段之后是否可以编辑文本。 此特性的默认值为 true。

子元素

描述

Default Element

必需的元素。 指定插入代码段时文本的默认值。 Literal 元素中必须有且仅有一个 Default 元素。

Function Element

可选元素。 指定当文本在 Visual Studio 中获得焦点时要执行的函数。 Literal 元素中可能有零个或一个 Function 元素。

ID Element

必需的元素。 指定文本的唯一标识符。 Literal 元素中必须有且仅有一个 ID 元素。

ToolTip Element

可选元素。 描述文本的预期值和用法。 Literal 元素中可能有零个或一个 Tooltip 元素。

父元素

描述

Declarations Element

包含代码段的可编辑文本和对象。

Namespace 元素

指定使代码段能够正常编译和运行而必须导入的命名空间。 如果尚不存在命名空间,系统会将 Namespace 元素中指定的命名空间自动添加到代码起始位置处的 Imports 语句中。

备注

只有 Visual Basic 项目支持 Namespace 元素。

<Namespace>
    Namespace
</Namespace>

父元素

描述

Import Element

导入指定的命名空间。

需要一个文本值。 此文本指定代码段采用的命名空间已导入。

Object 元素

定义你可以编辑的代码段的对象。 Object 元素用于标识代码段所需的、但可能是在代码段外部定义的项。 例如,Windows 窗体控件、ASP.NET 控件、对象实例以及类型实例应声明为对象。 对象声明要求指定类型,这一操作可通过 Type 元素完成。

<Object Editable="true/false">
    <ID>... </ID>
    <Type>... </Type>
    <ToolTip>... </ToolTip>
    <Default>... </Default>
    <Function>... </Function>
</Object>

特性

描述

Editable

可选的 Boolean 特性。 指定在插入代码段之后是否可以编辑文本。 此特性的默认值为 true。

子元素

描述

Default Element

必需的元素。 指定插入代码段时文本的默认值。 Literal 元素中必须有且仅有一个 Default 元素。

Function Element

可选元素。 指定当文本在 Visual Studio 中获得焦点时要执行的函数。 Literal 元素中可能有零个或一个 Function 元素。

ID Element

必需的元素。 指定文本的唯一标识符。 Literal 元素中必须有且仅有一个 ID 元素。

ToolTip Element

可选元素。 描述文本的预期值和用法。 Literal 元素中可能有零个或一个 Tooltip 元素。

Type Element

必需的元素。 指定对象的类型。 Object 元素中必须有且仅有一个 Type 元素。

父元素

描述

Declarations Element

包含代码段的可编辑文本和对象。

Reference 元素

指定有关代码段所需的程序集引用的信息。

备注

只有 Visual Basic 项目支持 Reference 元素。

<Reference>
    <Assembly>... </Assembly>
    <Url>... </Url>
</Reference>

子元素

描述

Assembly Element

必需的元素。 包含代码段引用的程序集的名称。 Reference 元素中必须有且仅有一个 Assembly 元素。

Url Element

可选元素。 包含一个提供有关所引用程序集的详细信息的 URL。 Reference 元素中可能有零个或一个 Url 元素。

父元素

描述

References Element

对 Reference 元素进行分组。

References 元素

对单个 Reference 元素进行分组。

备注

只有 Visual Basic 项目支持 References 元素。

<References>
    <Reference>... </Reference>
</References>

子元素

描述

Reference Element

可选元素。 包含有关代码段的程序集引用的信息。 References 元素中可能有零个或零个以上的 Reference 元素。

父元素

描述

Snippet Element

包含用于代码段的引用、导入、声明和代码。

Shortcut 元素

指定用于插入代码段的快捷方式文本。 Shortcut 元素的文本值只能包含字母数字字符、连字符 (-) 和下划线 (_)。

警告

C++ 代码段快捷方式不支持 _ 和 - 字符。

<Shortcut>
    Shortcut Text
</Shortcut>

父元素

描述

Header Element

包含有关代码段的常规信息。

文本值是可选的。 此文本可作为插入代码段的快捷方式使用。

Snippet 元素

指定代码段的引用、导入、声明和代码。

<Snippet>
    <References>... </References>
    <Imports>... </Imports>
    <Declarations>... </Declarations>
    <Code>... </Code>
</Snippet>

子元素

描述

Code Element

必需的元素。 指定要插入到文档文件中的代码。 Snippet 元素中必须有且仅有一个 Code 元素。

Declarations Element

可选元素。 指定作为某个代码段组成部分的文本和对象,你可以对该代码段进行编辑。 Snippet 元素中可能有零个或一个 Declarations 元素。

Imports Element

可选元素。 对单个 Import 元素进行分组。 Snippet 元素中可能有零个或一个 Imports 元素。

可选元素。 对单个 Reference 元素进行分组。 Snippet 元素中可能有零个或一个 References 元素。

父元素

描述

CodeSnippet Element

允许你指定一个标题和多个 IntelliSense 代码段,你可以将其插入 Visual Studio 代码文件中。

SnippetType 元素

指定 Visual Studio 如何插入代码段。

<SnippetType>
    SurroundsWith/Expansion
<SnippetType>

父元素

描述

SnippetTypes Element

对 SnippetType 元素进行分组。

此文本值必须为以下值之一:

  • SurroundsWith:允许将代码段放置在一段选定的代码周围。

  • Expansion:允许将代码段插入到光标处。

  • Refactoring:指定在 Visual C# 重构过程中使用代码段。 不能在自定义代码段中使用 Refactoring。

SnippetTypes 元素

对单个 SnippetType 元素进行分组。 如果 SnippetTypes 元素不存在,则代码段可以插入到代码中的任何位置。

<SnippetTypes>
    <SnippetType>... </SnippetType>
    <SnippetType>... </SnippetType>
<SnippetTypes>

子元素

描述

SnippetType Element

可选元素。 指定 Visual Studio 如何将代码段插入到代码中。 SnippetTypes 元素中可能有零个或零个以上的 SnippetType 元素。

父元素

描述

Header Element

指定有关代码段的常规信息。

Title 元素

指定代码段的标题。 代码段的 Title 元素中存储的标题显示在代码段选择器中和代码段管理器的代码段说明中。

<Title>
    Code Snippet Title
<Title>

父元素

描述

Header Element

指定有关代码段的常规信息。

需要一个文本值。 此文本指定代码段的标题。

ToolTip 元素

描述代码段中文本或对象的所需值和用法,Visual Studio 将代码段插入项目时将在工具提示中显示这些内容。 插入代码段后,当鼠标悬停在文本或对象上时,将显示工具提示文本。

<ToolTip>
    ToolTip description
</ToolTip>

父元素

描述

Literal Element

定义代码段的可编辑文本字段。

Object Element

定义代码段的可编辑对象字段。

需要一个文本值。 此文本指定要与代码段中的对象或文本关联的工具提示说明。

Type 元素

指定对象的类型。 Object 元素用于标识代码段所需的、但可能是在代码段外部定义的项。 例如,Windows 窗体控件、ASP.NET 控件、对象实例以及类型实例应声明为对象。 对象声明要求指定类型,这一操作可通过 Type 元素完成。

<Type>
    Type
</Type>

父元素

描述

Object Element

定义代码段的可编辑对象字段。

需要一个文本值。 此文本指定对象的类型。

Url 元素

指定一个 URL,它提供有关所引用程序集的详细信息。

备注

只有 Visual Basic 项目支持 Url 元素。

<Url>
    www.microsoft.com
</Url>

父元素

描述

Reference Element

指定代码段所需的程序集引用。

需要一个文本值。 此文本指定包含有关所引用程序集的详细信息的 URL。 在无法向项目添加引用时将显示此 URL。

请参见

任务

演练:创建代码段

其他资源

代码段