问题描述
旧的 emmet 工作正常,但现在我的 Sublime 已自动将 emmet
插件升级到最新版本,并且以下代码段不再起作用...
这些片段看起来很奇怪,因为这些是我的自定义标签,将在 Template Engine
中转换为 PHP 代码,因此代码不是 HTML 语法。
例如,当我输入 p1
并按 tab
时,我希望它给我 <!--{if }-->
:
{
"config": {
// Configure snippets/options for HTML Syntax only.
// For a list of supported Syntaxes,check out keys of `Syntax_scopes`
// dictionary of `emmet.sublime-settings`
"html": {
"snippets": {
"p1": "<!--{if }-->","l1": "<!--{/if}-->","p2": "<!--{loop }-->","l2": "<!--{/loop}-->","p3": "<!--{eval }-->","p4": "<!--{block }-->","l4": "<!--{/block}-->","else": "<!--{else}-->","elif": "<!--{elseif }-->"
}
}
}
}
解决方法
新 Emmet 接受片段值作为 Emmet 缩写(是的,递归),并且与原生 ST 片段一起玩得更好。因此,您应该将您的代码段添加为 ST 中的本机,或者如果您仍想将 Emmet 用于此类代码段,您应该将它们编写为有效的 Emmet 缩写。要以 Emmet 缩写输出任意文本,您应该将其写为文本节点,例如用 {
和 }
包裹起来。
因此,您的代码段应如下所示:
"p1": "{<!--{if }-->}"