所以,我在Sublime Text 3上使用Emmet,而且我已经想出了如何进行自定义片段(在进行扩展缩写命令时直接替换而不进行预处理),
"jq": "<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js' integrity='sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=' crossorigin='anonymous' ></script>${child}"
以及如何进行自定义缩写
"sym": "svg[width=${1} height=${1}]>symbol[ id='${2}' viewBox='0 0 ${1} ${1}']"
扩展为
<svg width="|" height="|">
<symbol id="" viewBox="0 0 | |"></symbol>
</svg>
我想知道的是,是否有一种方法可以制作自定义缩写,以便它可以将某些变量输入到缩写中,如此
sym:w200h100x0y0#myCustomSymbol
扩展为
<svg width="200" height="100">
<symbol id="myCustomSymbol" viewBox="0 0 200 100">|</symbol>
</svg>
我认为可能有可能,因为我们可以做的事情链接w100在CSS扩展到宽度:100px。
...除了试图了解如何制作自己的自定义内容的任何人在这篇文章中发现之外,您还可以转到首选项&gt;包设置&gt; Emmet&gt;设置 - 用户 这将打开文件,您可以在其中编写自定义内容的json。 首选项&gt;包设置&gt; Emmet&gt;设置 - 默认显示应如何格式化。
{
"variables": {
"lang": "en",
"greet":"Greetings and Salutations from the People of Earth"
},
"snippets": {
"css": {
"abbreviations": {
"tsh": "text-shadow:${1:hoff} ${2:voff} ${3:blur} ${4:#000};"
},
},
"html": {
"snippets": {
"jq": "<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js' integrity='sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=' crossorigin='anonymous' />${child}",
"hi":"<div>\n\t${greet}\n</div>"
},
"abbreviations": {
"sym": "svg[width=${1} height=${1}]>symbol[ id='${2}' viewBox='0 0 ${1} ${1}']",
"hello":"h1>{${greet}}>span"
// variables can't be placed at the end of an abbreviation, for some reason.
// however h1>{${greet}} expands correctly if explicit typed in the html document.
}
}
},
"preferences": {
"css.valueSeparator": ": ",
"css.propertyEnd": ";"
},
}
答案 0 :(得分:0)
不,Emmet中没有这样的选项。它假定您应首先扩展缩写,然后通过标记填充字段