有没有办法将一个代码段嵌入另一个代码段?

lic*_*ice 6 xml embed visual-studio-2008 visual-studio code-snippets

我们假设我有

  • 片段A.
  • 片段B
    ,其中 片段A 包含 片段B n次 , n> 1.

现在我已将代码段B的内容复制到代码段A中.这有一个缺点,即每当我改变片断乙,我必须另行更改段一个.因此,我的问题是是否有某种声明将一个片段嵌入到另一个片段中?
例如
<externalsnippet src=".\snippetB.snippet" />
或类似的东西.

Mad*_*sen 1

您可以使用外部解析的通用实体来声明片段 B 的实体引用,然后在片段 A 内使用它 n 次。

解析片段 A 时,实体引用将被扩展,并且片段 B 中的内容将包含在使用该实体的每个位置。

例如,假设您有一个名为 snipppetB.xml 的文件:

<snippetB>
  <foo>Content goes here</foo>
</snippetB>
Run Code Online (Sandbox Code Playgroud)

代码片段 A的文件声明了一个名为引用 snippetB.xml 的实体snippetB,并使用了它四次:

<!DOCTYPE snippetA [
   <!ENTITY snippetB SYSTEM "./snippetB.xml">
]>
<snippetA>
<a>&snippetB;</a>
<b>&snippetB;</b>
<c>&snippetB;</c>
<d>&snippetB;</d>
</snippetA>
Run Code Online (Sandbox Code Playgroud)

解析 snippetA.xml 时,XML 内容将如下所示:

 <snippetA>
 <a>
 <snippetB>
  <foo>Content goes here</foo> 
  </snippetB>
  </a>
 <b>
 <snippetB>
  <foo>Content goes here</foo> 
  </snippetB>
  </b>
 <c>
 <snippetB>
  <foo>Content goes here</foo> 
  </snippetB>
  </c>
 <d>
 <snippetB>
  <foo>Content goes here</foo> 
  </snippetB>
  </d>
  </snippetA>
Run Code Online (Sandbox Code Playgroud)