0

我有以下片段:

<snippet>
    <content><![CDATA[
<label for="my-id">Name:</label>
<input type="text" id="my-name" name="my-name" value="enter your name" />
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>htmlLabel</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>text.html</scope> 
    <description>Html Label and input</description>
</snippet>

它的范围应为 HTML。当我在 C# 或纯文本中时它不存在,但在Markdown中存在。

4

1 回答 1

2

有两种方法可以解决此问题:

  1. 改变你scopetext.html.basic

  2. 改变你scopetext.html -text.html.markdown

Markdown 只是 HTML 的简写语法。降价的范围实际上只是text.html.markdown. 您已text.html指定为 your scope,因此 的所有子级text.html也将可以访问该代码段。

如果您只想为纯 HTML 指定一个片段,您必须指定您只需要text.html.basic(我展示的第一种方法),或者您可以使用-符号否定某些范围(我展示的第二种方法)。

是一个很好的资源,您可以在其中查看 Sublime 的所有不同类型的范围。

于 2015-09-15T15:53:27.357 回答