我正在尝试将一些自定义的javascript片段和缩写添加到Emmet的snippets.json文件中,但我无法让它工作! (我使用的是Sublime Text 2。)
如果我把它放在settings.json
的末尾"javascript": {
"abbreviations": {
"while": "while(true)\n{\n\t\n}"
},
"snippets": {
"asdf": "qwerty"
}
}
没有任何反应。 (我明确地将文件的语法设置为javascript)
但如果我用'css'替换'javascript':
"css": {
"abbreviations": {
"while": "while(true)\n{\n\t\n}"
},
"snippets": {
"asdf": "qwerty"
}
}
它正确覆盖了内置的CSS代码段,并且工作正常。 (我显然将语法设置为css [否则它不起作用])
我错过了什么?根据这个:http://docs.emmet.io/customization/snippets/ 我应该能够以这种方式为自定义语言定义片段。
注意:我也尝试过'js'作为语言名称。
答案 0 :(得分:8)
您应该使用js
作为语法名称,因为Sublime Text将JavaScript范围定义为source.js
。将来,您应该使用source.(SYNTAX_NAME)
部分作为语法名称。
并且您不应该将abbreviations
部分用于片段,因为缩写定义了元素块,应该写为HTML元素。使用snippets
部分。
请注意,在ST编辑器的JS文件中,您必须使用Ctrl + E来扩展缩写,因为此语法禁用了Tab键。
而且,正如量角器忍者所说,在支持原生代码的编辑器中使用Emmet片段并不是一个好主意。