在Sublime Text 3中自定义片段无法工作

3

我正在使用以下代码在Sublime Text 3中创建自定义片段,但是当我输入我的期望tabTrigger并按下tab时,它不起作用。

<snippet>
<content><![CDATA[alter pot water it your pot.]]></content>
<!-- Optional: Tab trigger to activate the snippet -->
<tabTrigger>alter</tabTrigger>
<!-- Optional: Scope the tab trigger will be active in -->
<scope>source.html</scope>
<!-- Optional: Description to show in the menu -->
<description>My Fancy Snippet</description>
</snippet>

在HTML文档中键入alter并按tab后,内容没有显示出来。你能告诉我为什么吗?

5个回答

4

您的<scope>标签的内容有误。要确定光标下的当前范围,请在Sublime控制台中运行以下命令:

view.scope_name(view.sel()[0].begin())

要在Windows上打开控制台,请按Ctrl+'

4

4
原因是作用域错误,它需要是text.html
还要确保文本范围已启用自动完成(默认情况下未启用)。转到偏好设置>设置 - 用户,并将text(或仅针对HTML的text.html)添加到auto_complete_selector中。

你可能需要为文本范围启用自动完成功能,请参见我的编辑答案。 - idleberg
您还可以通过在“首选项>设置-用户”中将自动完成选择器配置选项设置为true来在任何地方启用自动完成选择器,例如: "auto_complete_selector": true - Andrew Faulkner

0
除了上面提到的信息外,我还会确保您在Sublime文本中打开的文档是HTML文档。请查看右下角。当我第一次开始使用自定义片段时,它们无法正常工作,因为Sublime中的默认文件类型是纯文本。您可以单击右下角以更改文档为正确的文件类型。

请遵循此URL,它将有助于提高您的内容质量。 - Willie Cheng

0

对我来说它是有效的。我在Win 8.1中使用Sublime Text Build 3083

<snippet>
    <content><![CDATA[console.log();]]></content>
    <!-- Optional: Tab trigger to activate the snippet -->
    <tabTrigger>cl</tabTrigger>
    <!-- Optional: Scope the tab trigger will be active in -->
    <scope>text.html</scope>
    <!-- Optional: Description to show in the menu -->
    <description>JS Console Log</description>
</snippet>

你可以试试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接