我只是想制作一些片段,但我无法让它们中的任何一个工作。有人能看出这有什么问题吗?我阅读了他们的文档,并在网上翻阅了一些例子,但它们也没有用。我在我的/sublime text 3/packages/user
文件夹中找到了它,并使用约定myTest.sublime.snippet
命名。
该片段是:
<snippet>
<content>
<![CDATA[
<!DOCTYPE html lang="en">
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]><html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<title>${1:test1|test2|test3} | $2</title>
<meta name="viewport" content="width=device-width">
<meta name="Description" lang="en" content="Description">
<meta name="robots" content="index, follow">
<meta name="robots" content="noodp, noydir">
<!-- Twitter Bootstrap -->
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css" rel="stylesheet">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<script src="assets/js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
$3
</div>
</body>
</html>
]]>
</content>
<tabTrigger>page</tabTrigger>
<scope>source.html</scope>
<description>HTML5 Base HTML</description>
</snippet>
答案 0 :(得分:11)
您应该在text.html
阻止中使用source.html
代替scope
。
答案 1 :(得分:10)
Sublime 3需要片段才能在文件名中包含.sublime-snippet结尾。
答案 2 :(得分:3)
步骤1。对于html代码段,请更改
<scope>source.html</scope>
到
<scope>text.html</scope>
第二步。如果您希望sublime在输入关键字后显示工具提示,请添加此行
"auto_complete_selector": true
到首选项 - 设置用户文件
答案 3 :(得分:2)
您应该在代码段中转义美元符号。 $ - &gt; \ $。
答案 4 :(得分:1)
这显然是一个老线程,但是当我在创建崇高的片段时,它就出现了。最初的问题可能是您正在输入&#34; page&#34;作为您的标签触发器,而无需先将语法设置为html。您可以使用shift + command / control + p快速完成此操作,然后键入sshtml然后输入。再次尝试使用标签触发器。为我工作。欢呼声。
答案 5 :(得分:1)
卸下:
&lt; description&gt; HTML5 Base HTML&lt; / description&gt;
是的,这一行来自官方文档,但至少在我的实例中(Sublime 3,Build 3114),它打破了片段。当我删除该行时,该代码段可以正常工作。
此外,正如Jinglong上面的回答,将以下内容添加到您的用户首选项中:
&#34; auto_complete_selector&#34;:true
答案 6 :(得分:1)
我遇到了同样的问题,我所做的是:
只需删除该代码段底部的const inputs = document.querySelectorAll('input');
let data = {};
inputs.forEach((input, i) => {
data[i] = input.value;
});
window.localStorage.setItem('data', JSON.stringify(data));
行。
答案 7 :(得分:0)
我找到了解决问题的方法!我一直在为我的键盘使用unicode设置进行另一个项目。当我将键盘更换回美国时,我的问题得到了解决。我确定这是一个不寻常的问题,但万一其他人遇到这个问题:
将键盘更改回美国也重新激活了一些代码导航快捷方式(例如,通过按住选项+箭头键在一行上跳转到单词)
答案 8 :(得分:0)
<scope>source.html</scope>
"auto_complete_selector": true,
添加到用户设置背景
我的js/
片段与<scope>source.html</scope>
可以很好地工作,但是无论出于何种原因,该行都不会引起我的html/
片段中的问题。