PhpStorm 2026.3 Help

语言注入设置对话框:XML 属性注入

项目

描述

名称

注入的名称。

语言

要注入的语言。

  • ID: 选择要 inject 的语言的 ID 或名称。

  • 前缀: 指定要添加到相应字符串值之前的字符序列。

  • 后缀: 指定要添加到相应字符串值之后的字符序列。

前缀和后缀是可选的。

XML 标签

在此区域中,指定 XML 标记,在这些标记内的特性会受已定义规则的影响。

  • 在 本地名称 字段中,指定不带命名空间前缀的标记名称。 使用正则表达式指定多个标签名 name1|name2 、不区分大小写的名称((?i)tagname 同时匹配 tagname 以及 TagName ),等等。

  • 在 命名空间 字段中,指定 XML 标记的命名空间 URI。

这两个字段都是可选的。 但是,如果 本地名称 字段为空,则配置将应用于匹配配置名称的任何属性,而不管其包含的 XML 标签。

XML 属性

在此区域中,定义 XML 标记特性,该特性表示带有此类特性的标记中包含的文本应被视为所选语言。

  • 本地名称 :指定没有命名空间前缀的属性名称。 请使用正则表达式:例如,要匹配 HTML 事件处理程序属性,请在该字段中输入 on.*。

    此字段是可选的,除非 本地名称 区域中的 XML 标签 字段为空。 如果没有指定属性本地名称,则配置适用于封闭标签的所有属性。

  • 命名空间 :指定特性的命名空间 URI。

高级

在此区域中,指定附加设置以实现对注入过程的更精细控制。

  • 值模式 - 在此字段中,输入一个正则表达式,用于确定要将该语言注入的上下文。 通过将模式的第一个捕获组用作注入目标,您可以将该过程配置为仅将语言注入匹配某一模式的值,或注入匹配该模式的多个部分。

  • 单个文件 - 如果此选项关闭,与值模式匹配的片段将被单独处理,视为不同的“文件”——例如,从片段编辑器的视角来看。

    如果该选项开启,相应的片段将全部合并在一起,形成一个单元,或 "file"。

    鉴于此数值模式

    xxx (.+) yyy (.+) zzz

    以及片段

    xxx select * yyy from family zzz,

    如果该选项关闭, select * 和 from family 将被视为两个独立的片段(或 "文件")。 如果该选项开启, select * from family 将被视为一个单元,或 "文件"。

  • XPath 条件 - 在此字段中,指定 XPath 表达式以更精确地定位注入目标。 对表达式求值的上下文是 XML 特性本身。

    如有必要,请使用 XPath 扩展程序函数 ,例如 lower-case()。 此外,还有三个附加函数可以用来确定当前文件的名称、扩展名和文件类型: file-name()、 file-ext() 和 file-type()。 或者,您也可以通过标准代码补全来获取可用函数列表。

2026年 11月 9日