XML 编辑器的 IntelliSense 功能

“XML 编辑器”提供了完整的智能感知功能,可与 Visual Studio 中提供的其他语言编辑器相比。 智能感知由与 XML 文档关联的文档类型定义 (DTD) 或 XML 架构定义语言 (XSD) 架构所驱动。

架构与文档关联之后(有关如何将架构与 XML 文档关联的信息,请参见 XML 文档验证),可以随时键入 "<" 或单击“XML 编辑器”工具栏上的**“显示对象成员列表”**按钮,以获得预期元素的下拉列表。

在开始标记中键入 SPACE 时,也可以获得一个下拉列表,显示可以添加到当前元素中的所有属性。

在键入 "=" 代表属性值时,或键入左引号代表值时,也可以获得该属性的可能值列表。 在这种情况下,只有架构通过 xsd:enumeration 方面提供枚举值时,或属性为 Boolean 类型时,才会提供值。 对于 xml:lang 或任何从 xsd:language 派生的 simpleType,还提供已知语言代码的智能感知列表。 对于命名空间声明,会提供已知 targetNamespace 值的智能感知列表。

如果元素为 simpleType,在键入 ">" 封闭开始标记时,也会提供可能的值的 IntelliSense 列表。 元素的行为类似于上一段中所述的属性的行为。

根据关联的架构中发现的 xsd:annotationxsd:documentation 信息,还会在这些智能感知列表上显示工具提示。

自动完成

“XML 编辑器”还通过为您填写必需的 XML 语法,使编辑 XML 更加容易。 例如,如果您键入以下开始标记:

<book>

“XML 编辑器”将填写结束标记,并将光标置于开始标记之后。 以下是这种情况的示例(“|”指示光标位置):

<book>|</book>

因为属性值必须总是加引号,“XML 编辑器”会为您填写引号。 例如,如果您键入以下内容:

<book title=

“XML 编辑器”会添加引号并将光标置于两个引号之间:

<book title="|"

同样,“XML 编辑器”还为您自动插入以下 XML 语法:

  • 结束处理指令: ?>

  • 结束 CDATA 块: ]]>

  • 结束注释: -->

  • 结束 DTD 声明: >

如果从智能感知列表中选择了命名空间限定的元素或属性,并且该元素或属性的命名空间尚不在相应范围内,“XML 编辑器”还可以插入命名空间声明。

例如,如果从智能感知列表中选择了 e:Book 元素,该元素的前缀绑定到的 http://books 命名空间尚未在文档中声明,“XML 编辑器”将为您插入所需的命名空间声明。 以下是生成的 XML 文本:

<e:Book xmlns:e="http://books"

括号匹配

“XML 编辑器”提供括号突出显示功能,针对您刚封闭的元素提供即时反馈。 您也可以使用快捷键 (CTRL+]) 从一个括号跳转到匹配的括号。

“XML 编辑器”对下列项执行此操作:

  • 匹配的开始标记和结束标记。

  • 任何“<”或“>”尖括号对。

  • 注释的开始和结束。

  • 处理指令的开始和结束。

  • CDATA 块的开始和结束。

  • DTD 声明的开始和结束。

  • 属性的左引号和右引号。

修改智能感知选项

默认情况下启用智能感知和自动完成功能。 但是,可以通过修改“工具-选项”设置来更改此选项。

“杂项”页的“自动插入”部分控制以下行为:

名称 说明

结束标记

为新元素插入结束标记。

属性引号

在输入新属性名时插入属性值引号。

其他标记

完成注释、CDATA、DOCTYPE、处理指令和其他标记声明。

更改自动完成行为

  1. 从“工具”****菜单中选择“选项”。

  2. 展开“文本编辑器”,展开“XML”,再选择“杂项”****。

  3. 对“自动插入”部分进行所需的更改,再单击“确定”。

另请参见

概念

XML 编辑器

其他资源

使用 IntelliSense